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 Plugins › Add 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 Settings › Admaxxer. Copy your Website ID from admaxxer.com › Settings › Install (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 dashboard › Pixel › Realtime. 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 Attribution › Revenue 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.