{"id":315338,"date":"2026-05-20T11:21:52","date_gmt":"2026-05-20T11:21:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/axitrace-for-woocommerce\/"},"modified":"2026-05-20T12:22:16","modified_gmt":"2026-05-20T12:22:16","slug":"axitrace-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/axitrace-for-woocommerce\/","author":23501369,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"6.9.4","requires":"6.4","requires_php":"8.1","requires_plugins":null,"header_name":"AxiTrace for WooCommerce","header_author":"AxiTrace","header_description":"Server-side conversion tracking for WooCommerce \u2014 Facebook CAPI, TikTok Events API, Google Ads, and GA4 from one plugin.","assets_banners_color":"141414","last_updated":"2026-05-20 12:22:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/axitrace.com\/woocommerce","header_author_uri":"https:\/\/axitrace.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"axitrace","date":"2026-05-20 11:36:53"},"1.0.1":{"tag":"1.0.1","author":"axitrace","date":"2026-05-20 12:22:16"}},"upgrade_notice":{"1.0.1":"<p>Important fix: settings configured via the WooCommerce integration screen are now applied at runtime. Upgrade recommended for all users.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3539026,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3539215,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3539215,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3539067,"resolution":"1","location":"assets","locale":"","width":1300,"height":712},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3539115,"resolution":"2","location":"assets","locale":"","width":1600,"height":715},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3539228,"resolution":"3","location":"assets","locale":"","width":1585,"height":1486},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3539228,"resolution":"4","location":"assets","locale":"","width":1585,"height":1530}},"screenshots":{"1":"AxiTrace dashboard \u2014 website analytics with unique visitors, pageviews, purchases, and revenue over time, with all currencies normalized to a single reporting currency.","2":"Settings panel at WooCommerce &gt; Settings &gt; Integrations &gt; AxiTrace \u2014 public key field and server-side events toggle.","3":"Connections \u2014 link Facebook CAPI, Facebook Ads, TikTok Events API, TikTok Ads, Google Ads, and Google Analytics 4 to a single AxiTrace workspace.","4":"Visitors \u2014 per-visitor event history with country, traffic source, session and event counts, orders, and revenue."}},"plugin_section":[],"plugin_tags":[986,7855,1005,219244,286],"plugin_category":[45],"plugin_contributors":[263667],"plugin_business_model":[],"class_list":["post-315338","plugin","type-plugin","status-publish","hentry","plugin_tags-conversion-tracking","plugin_tags-facebook-pixel","plugin_tags-google-analytics","plugin_tags-server-side-tracking","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-axitrace","plugin_committers-axitrace"],"banners":{"banner":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/banner-772x250.png?rev=3539215","banner_2x":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/banner-1544x500.png?rev=3539215","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/icon-256x256.png?rev=3539026","icon_2x":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/icon-256x256.png?rev=3539026","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/screenshot-1.png?rev=3539067","caption":"AxiTrace dashboard \u2014 website analytics with unique visitors, pageviews, purchases, and revenue over time, with all currencies normalized to a single reporting currency."},{"src":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/screenshot-2.png?rev=3539115","caption":"Settings panel at WooCommerce &gt; Settings &gt; Integrations &gt; AxiTrace \u2014 public key field and server-side events toggle."},{"src":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/screenshot-3.png?rev=3539228","caption":"Connections \u2014 link Facebook CAPI, Facebook Ads, TikTok Events API, TikTok Ads, Google Ads, and Google Analytics 4 to a single AxiTrace workspace."},{"src":"https:\/\/ps.w.org\/axitrace-for-woocommerce\/assets\/screenshot-4.png?rev=3539228","caption":"Visitors \u2014 per-visitor event history with country, traffic source, session and event counts, orders, and revenue."}],"raw_content":"<!--section=description-->\n<p><strong>AxiTrace for WooCommerce<\/strong> connects your store to the AxiTrace server-side tracking platform at <a href=\"https:\/\/axitrace.com\/\">axitrace.com<\/a>. Every purchase, add-to-cart, and begin-checkout event is captured on the server and forwarded to your ad platforms \u2014 reaching customers that browser-based pixels miss entirely.<\/p>\n\n<p><strong>Why server-side tracking?<\/strong><\/p>\n\n<p>Browser pixels can be blocked by ad blockers, restricted by iOS Intelligent Tracking Prevention, and refused via cookie consent banners. Server-side events travel directly from your WooCommerce server to Facebook CAPI, TikTok Events API, Google Ads, and Google Analytics 4, so conversions are still recorded when the browser pixel cannot fire.<\/p>\n\n<p><strong>Deduplication so you never double-count<\/strong><\/p>\n\n<p>AxiTrace generates a deterministic UUID v5 event ID for every WooCommerce order. The same event ID is attached to both the browser-side purchase pixel fire and the server-side purchase event. Facebook CAPI, TikTok Events API, and Google Ads use that shared event ID to deduplicate automatically \u2014 each conversion is counted exactly once, regardless of how many times the confirmation page loads or how many pixels fire.<\/p>\n\n<p><strong>Server-side AddToCart events<\/strong><\/p>\n\n<p>AxiTrace sends AddToCart events server-side, triggered by the WooCommerce <code>woocommerce_add_to_cart<\/code> hook. This records add-to-cart activity from the server, so the event is captured even when the browser-side pixel is blocked or restricted.<\/p>\n\n<p><strong>Asynchronous by design \u2014 checkout never blocks<\/strong><\/p>\n\n<p>All server-side event transmissions are dispatched via <strong>WooCommerce Action Scheduler<\/strong>. The HTTP request to AxiTrace's ingestion API happens in a background job, decoupled from the order placement flow. Checkout latency is unaffected even if the AxiTrace API is momentarily slow or unavailable.<\/p>\n\n<p><strong>Platform coverage<\/strong><\/p>\n\n<p>One plugin. One workspace key. AxiTrace routes your events to whichever ad platforms you connect in your dashboard:<\/p>\n\n<ul>\n<li>Facebook \/ Meta \u2014 Conversions API (CAPI)<\/li>\n<li>TikTok \u2014 Events API (server-side)<\/li>\n<li>Google Ads \u2014 Offline Conversion Upload (GCLID-based attribution)<\/li>\n<li>Google Analytics 4 \u2014 Measurement Protocol<\/li>\n<\/ul>\n\n<p><strong>HPOS and Cart\/Checkout Blocks compatible<\/strong><\/p>\n\n<p>AxiTrace for WooCommerce declares compatibility with WooCommerce High-Performance Order Storage (HPOS) and the modern Cart\/Checkout Blocks, so it works correctly on stores that have migrated away from legacy shortcode-based checkout.<\/p>\n\n<p><strong>WP Consent API support<\/strong><\/p>\n\n<p>The plugin detects the <a href=\"https:\/\/wordpress.org\/plugins\/wp-consent-api\/\">WP Consent API<\/a> and checks the visitor's consent level before firing events. When no consent framework is present, the plugin fires freely (opt-out model). When a framework is present, the plugin respects the consent status for the <code>statistics<\/code> and <code>marketing<\/code> categories. This gives your store a ready compliance path without requiring you to build custom integration.<\/p>\n\n<p><strong>GDPR personal-data tools built in<\/strong><\/p>\n\n<p>AxiTrace registers a WordPress personal-data exporter and eraser (<code>wp_privacy_personal_data_exporters<\/code> \/ <code>wp_privacy_personal_data_erasers<\/code>), enabling your store to fulfill GDPR deletion requests directly from the WordPress Tools &gt; Erase Personal Data screen.<\/p>\n\n<p><strong>Privacy first<\/strong><\/p>\n\n<p>Customer email addresses and phone numbers are transmitted in plain text to AxiTrace's ingestion API at <code>stat.axitrace.com<\/code> and are SHA-256 hashed inside AxiTrace before being forwarded to any ad platform. No raw PII leaves the AxiTrace platform. See our Privacy Policy at <a href=\"https:\/\/axitrace.com\/privacy\/\">axitrace.com\/privacy\/<\/a> and the <code>== External Services ==<\/code> section below for the complete disclosure.<\/p>\n\n<p><strong>Free plugin. Paid plans for volume.<\/strong><\/p>\n\n<p>The plugin itself is free and open source (GPL v2 or later). An AxiTrace account at <a href=\"https:\/\/axitrace.com\/\">axitrace.com<\/a> is required. Free workspaces are available. Paid plans unlock higher event volumes, longer data retention, and priority support \u2014 see <a href=\"https:\/\/axitrace.com\/\">axitrace.com<\/a> for current pricing.<\/p>\n\n<p>Requires an AxiTrace account at <a href=\"https:\/\/axitrace.com\/\">https:\/\/axitrace.com\/<\/a>.<\/p>\n\n<h3>External Services<\/h3>\n\n<p>This plugin connects to <strong>stat.axitrace.com<\/strong> \u2014 the AxiTrace event-ingestion API.<\/p>\n\n<ul>\n<li><strong>Service<\/strong>: AxiTrace conversion tracking SaaS.<\/li>\n<li><strong>Endpoint<\/strong>: <code>https:\/\/stat.axitrace.com\/woocommerce\/pixel<\/code> (POST).<\/li>\n<li><strong>When data is sent<\/strong>: on page views (cart, product, checkout, thank-you), add-to-cart events, begin-checkout events, and order placement \/ payment completion.<\/li>\n<li><strong>Data transmitted<\/strong>: order ID, plain-text billing email (hashed downstream by AxiTrace), billing phone, billing city\/country\/zip, order total + currency, line items (SKU, name, quantity, price), user agent, IP address, AxiTrace session\/user identifiers, click-attribution cookies (fbc, fbp, gclid, ttclid, msclkid, twclid, epik, li_fat_id, sccid, rdt_cid), UTM parameters, page URL\/referrer\/title.<\/li>\n<li><strong>Why<\/strong>: to forward the conversion to Facebook CAPI, TikTok Events API, Google Ads, GA4, and other ad platforms configured in your AxiTrace workspace.<\/li>\n<li><strong>Terms of Service<\/strong>: https:\/\/axitrace.com\/terms\/<\/li>\n<li><strong>Privacy Policy<\/strong>: https:\/\/axitrace.com\/privacy\/<\/li>\n<\/ul>\n\n<p><strong>Optional first-party tracking domain<\/strong><\/p>\n\n<p>You may optionally configure a custom first-party subdomain under WooCommerce \u2192 Settings \u2192 Integrations \u2192 AxiTrace \u2192 \"First-party tracking domain\". When set to e.g. <code>metrics.your-store.com<\/code> (which you set up in your AxiTrace workspace and verify via CNAME to <code>stat.axitrace.com<\/code>), the SDK and ingestion endpoint load from your own domain instead of stat.axitrace.com. The data transmitted, the endpoint path (<code>\/woocommerce\/pixel<\/code>), and the recipient (AxiTrace) remain identical \u2014 only the hostname changes. This is purely a delivery optimization that helps bypass client-side blocking; no third-party service is added.<\/p>\n\n<p>When this field is empty, the plugin uses the default <code>stat.axitrace.com<\/code> endpoint described above.<\/p>\n\n<p><strong>Auto-detect lookup endpoint<\/strong><\/p>\n\n<p>When the merchant clicks the \"Detect from AxiTrace\" button on the settings page, the plugin makes a single server-to-server GET request to <code>https:\/\/axitrace.com\/api\/public\/workspace\/tracking-domain?key={public_key}<\/code> (AxiTrace admin host \u2014 separate from the ingestion host <code>stat.axitrace.com<\/code>) to look up the default verified domain registered for that workspace. The request contains only the merchant's own workspace public key (already exposed in every browser event); no customer or visitor data is sent.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/axitrace-for-woocommerce\/<\/code> or install via Plugins &gt; Add New.<\/li>\n<li>Activate the plugin through the Plugins menu in WordPress.<\/li>\n<li>Go to WooCommerce &gt; Settings &gt; Integrations &gt; AxiTrace.<\/li>\n<li>Paste your AxiTrace workspace public key (from https:\/\/axitrace.com\/admin -&gt; Workspace -&gt; API) and save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20axitrace%20account%3F\"><h3>Do I need an AxiTrace account?<\/h3><\/dt>\n<dd><p>Yes. The plugin is free, but it forwards events to the AxiTrace SaaS at https:\/\/axitrace.com\/. Create a free workspace there before installing.<\/p><\/dd>\n<dt id=\"does%20this%20duplicate%20the%20facebook%20pixel%20events%20i%27m%20already%20firing%3F\"><h3>Does this duplicate the Facebook Pixel events I'm already firing?<\/h3><\/dt>\n<dd><p>No. AxiTrace generates a deterministic UUID v5 for every order, attached to both the browser purchase event and the server-side purchase event. Facebook CAPI, TikTok Events API, and Google Ads use that event ID to deduplicate, so each conversion is counted exactly once.<\/p><\/dd>\n<dt id=\"which%20ad%20platforms%20are%20supported%3F\"><h3>Which ad platforms are supported?<\/h3><\/dt>\n<dd><p>Facebook \/ Meta (Conversions API), TikTok (Events API), Google Ads (Offline Conversion Upload), and Google Analytics 4 (Measurement Protocol). Connect whichever platforms you use from your AxiTrace workspace dashboard at axitrace.com.<\/p><\/dd>\n<dt id=\"does%20this%20slow%20down%20my%20checkout%3F\"><h3>Does this slow down my checkout?<\/h3><\/dt>\n<dd><p>No. All server-side HTTP calls are dispatched via WooCommerce Action Scheduler as background jobs. The checkout flow completes immediately and the event is sent asynchronously afterwards.<\/p><\/dd>\n<dt id=\"is%20multisite%20supported%3F\"><h3>Is multisite supported?<\/h3><\/dt>\n<dd><p>Not in version 1.0. The plugin's <code>Network: false<\/code> header reflects this. Multisite support is on the roadmap.<\/p><\/dd>\n<dt id=\"where%20is%20my%20customer%20data%20sent%3F\"><h3>Where is my customer data sent?<\/h3><\/dt>\n<dd><p>To <code>stat.axitrace.com<\/code>. Plain-text email (hashed inside AxiTrace before forwarding to ad platforms), order data, IP address, user agent, session identifiers, and click-attribution cookies (fbc\/fbp\/gclid\/etc.). See <code>== External Services ==<\/code> below and our Privacy Policy at https:\/\/axitrace.com\/privacy\/.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20with%20woocommerce%20hpos%20%28high-performance%20order%20storage%29%3F\"><h3>Does the plugin work with WooCommerce HPOS (High-Performance Order Storage)?<\/h3><\/dt>\n<dd><p>Yes. AxiTrace for WooCommerce declares HPOS compatibility and uses the WooCommerce order abstraction layer (<code>wc_get_order()<\/code>), so it works correctly on stores that have enabled HPOS.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: settings saved through WooCommerce &gt; Settings &gt; Integrations &gt; AxiTrace are now read correctly at runtime. The public key, server-side events toggle, and tracking domain entered in the form are picked up immediately. Previously these values were not detected, so no events were sent. Re-saving the settings is not required after upgrading.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Server-side purchase event via Action Scheduler.<\/li>\n<li>Deterministic UUID v5 dedup for Facebook CAPI, TikTok, Google Ads, GA4.<\/li>\n<li>Server-side AddToCart event for ad-blocked customers.<\/li>\n<li>HPOS and Cart\/Checkout Blocks compatibility.<\/li>\n<li>WP Consent API detect-and-check support.<\/li>\n<li>GDPR personal-data exporter and eraser hooks.<\/li>\n<\/ul>","raw_excerpt":"Server-side conversion tracking for WooCommerce \u2014 Facebook CAPI, TikTok Events API, Google Ads, and GA4 from one plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/315338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=315338"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/axitrace"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=315338"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=315338"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=315338"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=315338"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=315338"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=315338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}