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.3.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. v1.2.0 extracts the full economic shape of each order — subtotal, tax, discount, shipping, refund, units sold, customer-lifetime order count, and customer-lifetime spend — so the Returns, Taxes, Discounts, Shipping, Units Sold, True AOV, Total Sales, and Net Revenue dashboard tiles render real numbers (instead of zeros, which is what WP-only merchants saw before this release).

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. In your Admaxxer dashboard, open Integrations, 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, 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.2.0

v1.2.0 (April 2026) closes the cross-source data-parity gap that left WP / WooCommerce-only merchants seeing $0 on the Returns, Taxes, Discounts, Shipping, Units Sold, True AOV, Total Sales, and Net Revenue dashboard tiles — tiles that worked for Shopify-app merchants because the Shopify payload carried richer order data, but were silently empty for WooCommerce because the v1.1.0 plugin only sent amount + currency.

Generic compatibility note: receivers that pre-date v1.2.0 keep working — the new fields are all optional. The dashboard renders $0 only for tiles whose underlying field is unset; once you upgrade, the zeros are replaced with real numbers on the next paid order.

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).

Cookieless mode

Toggling Cookieless mode in Settings › Admaxxer › Enable Cookieless Tracking swaps the loaded pixel bundle to /js/script.cookieless.js — the exact same runtime the dashboard injects when you flip cookieless mode under Connections › Pixel install. There is no behavioural difference between the WordPress plugin and the standalone snippet when the toggle is on; both load the cookieless build, neither sets a first-party cookie, and visitor IDs are derived from a salted fingerprint that rotates daily. With the toggle off (the default) the plugin loads /js/script.js and a single first-party cookie _admx_visitor is written with a 1-year expiry. Cookieless mode is generally recognized as exempt from EU/UK consent banner requirements for the pixel itself, though final compliance depends on your jurisdiction — review with your DPO.

Where to find your Website ID

Your Website ID is shown at the top of the in-app pixel install card. The full path:

  1. Open the Admaxxer dashboard.
  2. Click Connections in the sidebar.
  3. Open Pixel install. The Website ID is at the top of the snippet card — the line that starts data-website-id="admx_...". Copy that value (it always begins with the admx_ prefix; example: admx_a1b2c3d4e5f6).
  4. Paste the value into the Website ID field in the WordPress plugin settings (Settings › Admaxxer).

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 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 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 dashboard, open Integrations, click WooCommerce › Connect, and copy the Signing secret from the “Final step: webhook setup” card. 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 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.