Install guide · ecommerce · ~4 min
WP plugin — revenue automatic.
The Admaxxer WordPress plugin captures every paid WooCommerce order server-side via three hooks (woocommerce_thankyou, woocommerce_payment_complete, woocommerce_order_status_completed) and POSTs a Triple-Whale-parity payload — subtotal, tax, discount, shipping, refund, units, customer LTV, full line-item detail, plus WC 8.5+ first-touch source attribution — to https://admaxxer.com/api/pixel/webhooks/woocommerce/{website_id}, signed with HMAC-SHA256. The Webhook HMAC Secret is strongly recommended — without it server-side order events are silently skipped (pixel-only fallback works but loses ad-blocker resistance, ITP resilience, and redirect-drop recovery). HPOS-compatible (declared via before_woocommerce_init); works identically on legacy posts-table and High Performance Order Storage.
Grab the latest plugin ZIP from /wp-plugin/dist/admaxxer-1.3.0.zip, or install directly from the WordPress.org plugin directory by searching for Admaxxer Analytics.
In WordPress admin, go to Plugins → Add New → Upload Plugin, upload the ZIP, and click Activate. The plugin registers a settings screen at Settings → Admaxxer.
Open Settings → Admaxxer. Copy your Website ID from Integrations → Pixel install in the Admaxxer dashboard (it starts with admx_) and paste it into the Website ID field. This is the only required field.
For WooCommerce stores, this is the most important optional step. Server-side order attribution is the only way to capture revenue when ad blockers, ITP, or redirect-gateway drops block the browser-side checkout pixel. Open Integrations in the Admaxxer dashboard, click WooCommerce → Connect, and copy the Signing secret from the “Final step: webhook setup” card. Paste it into the Webhook HMAC Secret field in WordPress. Without this secret, the pixel still tracks pageviews but WooCommerce server-side orders are silently skipped — set it before placing your first paid order.
Three optional toggles tune the pixel for your stack. Proxy Origin routes pixel JS through your own domain to bypass ad blockers. Enable Cookieless Tracking swaps the loaded bundle to /js/script.cookieless.js — no cookies set, GDPR-friendly. Enable SPA Hash Mode tracks hash-route navigation (/#/page) for themes that use it. Leave them off if unsure — defaults are right for ~95% of stores.
Click Save Settings. The pixel goes live site-wide; if WooCommerce is active and a Webhook HMAC Secret is configured, every paid order POSTs to Admaxxer over HMAC-SHA256.
Load any public page on your site in a fresh browser tab. Within a few seconds, the Admaxxer dashboard realtime view should show the event. If nothing lands after 2 minutes, re-check the snippet is actually in the rendered HTML <head> (View Source, not just DevTools).
admaxxer.com/js/script.js (or script.cookieless.js if Cookieless mode is on) is in the rendered <head>.admx_. (2) A caching plugin (WP Rocket, W3 Total Cache, LiteSpeed) is stripping the pixel — exclude admaxxer.com from minification and deferred-JS rules. (3) A security plugin (Wordfence, Sucuri) is blocking the outbound POST — whitelist admaxxer.com in your firewall.admx_visitor_id from your cache vary rules.woocommerce_payment_complete in addition to woocommerce_thankyou, so orders that pay but never reach the thank-you page (browser closed, network drop, redirect blocked) are still captured server-side. Atomic local dedup via WC order meta prevents double-firing./js/script.cookieless.js, which writes no persistent cookie — visitor IDs come from a salted fingerprint that rotates daily. This setup is generally recognized as exempt from EU/UK consent banner requirements for the pixel itself, but final compliance depends on your jurisdiction — review with your DPO. With the toggle off (default) a single first-party cookie _admx_visitor_id is set with a 1-year expiry; disclose it.before_woocommerce_init and uses wc_get_order() rather than direct SQL — works on legacy posts-table and HPOS tables identically.