Install guide · WordPress / WooCommerce · ~60 seconds

Install Admaxxer on WordPress / WooCommerce

First-party pixel tracking + server-side WooCommerce conversion attribution. The plugin is open-source under GPL v2+, listed on the official WordPress Plugin Directory, and works with every major caching plugin.

Overview

The Admaxxer Analytics WordPress plugin (v1.1.0) installs a first-party analytics pixel on every front-end page of your site and adds server-side WooCommerce purchase tracking. Pixel events flow to your Admaxxer dashboard for attribution, MER, cohort LTV, and CAPI match-rate analysis. WooCommerce orders are forwarded over HMAC-signed webhooks so revenue is attributed even when ad blockers or iOS privacy controls block the client-side checkout pixel.

The plugin is free and open-source under GPL v2+, mirroring the WordPress core licence. To use it you need an active Admaxxer subscription (plans start at $29/month). Source code lives at wordpress.org/plugins/admaxxer-analytics/ for review — no obfuscation, no telemetry, no activation phone-home.

Before you start

Install in 60 seconds

  1. Open the plugin installer. In your WordPress admin go to PluginsAdd New.
  2. Search for the plugin. Type Admaxxer Analytics in the search box. The official plugin shows up authored by admaxxer with the Admaxxer logo.
  3. Install + Activate. Click Install Now, then Activate. The plugin registers a settings page under Settings › Admaxxer.
  4. Paste your Website ID. In WordPress admin go to SettingsAdmaxxer. Copy your Website ID from admaxxer.comSettingsInstall (it starts with admx_) and paste it into the Website ID field.
  5. (Optional, recommended for WooCommerce) Paste the Webhook HMAC Secret. Copy it from admaxxer.com › SettingsWebhooks and paste into the Webhook HMAC Secret field. Without this, server-side order attribution is disabled (pixel still tracks browser-side checkout events).
  6. Click Save Settings. The pixel is now active site-wide. WooCommerce hooks register if WC is detected.

What's new in v1.1.0

v1.1.0 (April 2026) addresses the most common revenue-loss bug we saw in v1.0 deployments — orders that paid via PayPal or Stripe redirect but where the customer never reached the thank-you page (browser closed, network drop, redirect blocked).

Verify it's working

  1. Pixel: Visit your homepage in a fresh incognito browser tab. Within ~60 seconds (usually under 5) the pageview lands in your Admaxxer dashboardPixelRealtime. If nothing shows after 2 minutes, view the page source (Ctrl/Cmd-U) and confirm cdn.admaxxer.com/js/script.js is present in the rendered <head>.
  2. WooCommerce orders: Place a test order through your WooCommerce checkout (any gateway). Within 30 seconds of the order paying, revenue lands in AttributionRevenue with the correct source/medium for the visitor's session.
  3. WC order notes: Open the test order in WooCommerce admin › Orders. The Order Notes pane shows entries like Admaxxer: purchase event sent and Admaxxer: completed event sent — one per event type, never duplicated.

Troubleshooting

I have a caching plugin (W3 Total Cache, WP Rocket, LiteSpeed) and the pixel doesn't fire.
The Admaxxer plugin enqueues the pixel via wp_enqueue_scripts, which is the standard WP API every caching plugin respects. Pixel still fires because the plugin hooks both wp_head (primary) and a wp_footer safety fallback. If your caching plugin minifies or defers third-party scripts, exclude cdn.admaxxer.com from minification and deferred-JS rules. WP Rocket: Settings › File Optimization › Excluded JavaScript Files. W3 Total Cache: Performance › Minify › JS › Never minify the following JS files. LiteSpeed Cache: Page Optimization › JS Settings › JS Excludes.
My PayPal redirect failed and the order never tracked — is v1.1.0 going to fix this?
Yes. v1.1.0 subscribes to woocommerce_payment_complete, which fires server-side as soon as PayPal/Stripe confirms the payment, regardless of whether the customer's browser ever returned to your thank-you page. v1.0 only listened to woocommerce_thankyou (browser-side), which is why redirect-abandonment orders went untracked. Upgrade to v1.1.0 and historical missed orders will start being captured for any order the gateway confirms going forward (we don't backfill historical PayPal/Stripe orders — only new ones from the upgrade onward).
I'm seeing duplicate purchase events for the same order.
v1.1.0 prevents this with an atomic local guard: each (order_id, event_type) pair is recorded via add_post_meta($order_id, '_admx_capi_sent_purchase', '1', true) with $unique = true. The unique flag is enforced atomically by WordPress at the database level — concurrent hooks racing on the same order can't both succeed. The server-side ingest at server/routes/pixelWebhooks/woocommerce.ts also runs an idempotency guard keyed on (provider, external_id). If you're still seeing duplicates after upgrading to v1.1.0, you may have v1.0 running on a multisite subsite alongside v1.1.0 elsewhere — upgrade all sites to v1.1.0.
Where do I find the Webhook HMAC Secret?
In your Admaxxer dashboardSettingsWebhooks. Click Reveal secret next to your WooCommerce webhook entry. The secret is per-website — if you run multiple stores under one Admaxxer account, each website has its own secret. Paste it into the WordPress plugin's Webhook HMAC Secret field. Without this, server-side order attribution is disabled (the plugin doesn't dispatch order events without a configured secret) but the pixel still tracks browser-side pageviews and checkout events.
I want cookieless mode for GDPR — do I need a consent banner?
The plugin supports a cookieless mode toggle in Settings › Admaxxer › Enable Cookieless Tracking. When enabled, no persistent identifiers are stored in the browser — visitor IDs are derived from a salted fingerprint of headers (Accept-Language, User-Agent, IP-prefix) and rotate daily. This setup is generally recognized as cookie-less and exempt from EU/UK consent banner requirements, though final compliance depends on your jurisdiction and use case — review with your DPO. With cookieless mode off (the default), a single first-party cookie (_admx_visitor) is set with a 1-year expiry and you should disclose it in your cookie banner.
Plugin says "Activated" but no pixel events arrive.
Three common causes. (1) Website ID is empty or wrong — double-check that you pasted the value starting with admx_. (2) Caching plugin stripped the script — see the W3TC/WP Rocket/LiteSpeed answer above. (3) A security plugin (Wordfence, Sucuri) is blocking the outbound POST — whitelist cdn.admaxxer.com in your firewall's allowed-domains list.
Does this work with WooCommerce HPOS (High Performance Order Storage)?
Yes. The plugin declares HPOS compatibility via before_woocommerce_init and uses the WooCommerce Order API (wc_get_order()) rather than direct SQL queries. Tested against WC 9.0 with HPOS enabled.
Multisite — do all sites share one configuration?
No. Each site in a multisite network has its own settings (Website ID, HMAC Secret, cookieless toggle, etc.). On plugin uninstall, options are cleaned per-site so you can safely uninstall from one subsite without affecting others.

What's collected

Verbatim from the plugin's == External Services == disclosure in readme.txt:

Pixel script (loaded in the browser, on every front-end page)

Server-side WooCommerce events (sent from your server, only if Webhook HMAC Secret is configured)

Documentation, terms, and privacy:

By entering your Website ID and (optionally) your Webhook HMAC Secret in Settings › Admaxxer, you authorize this plugin to transmit the data above to Admaxxer. To stop all data transmission, clear the Website ID field or deactivate the plugin.

Privacy / GDPR

Admaxxer is a first-party analytics tool. All data is stored under your workspace at admaxxer.com. The plugin does not share any data with third parties — no Google Analytics shadow-pixel, no Meta Pixel injection, no Hotjar, no telemetry. If you toggle cookieless mode (Settings › Admaxxer › Enable Cookieless Tracking), no persistent cookies are set; visitor IDs are derived from a salted fingerprint that rotates daily. With cookieless mode off, a single first-party cookie _admx_visitor with a 1-year expiry stores the visitor ID.

For per-customer deletion, email hello@admaxxer.com from the email on your Admaxxer account or use the self-serve /data-deletion form. We action requests within 7 days.

For the full Admaxxer privacy policy see admaxxer.com/privacy and your own legal requirements.

Pricing

The Admaxxer Analytics WordPress plugin is free and open-source under the GPL v2+ licence — the same licence WordPress core ships under. Source is at wordpress.org/plugins/admaxxer-analytics/ for review.

To use it you need an active Admaxxer service subscription. Plans start at $29/month; see admaxxer.com/pricing for the full plan matrix. Billing is via Stripe at admaxxer.com. The plugin never charges anything — no in-plugin upsells, no activation fee, no premium-feature unlocks.