Datalayer Tracking via DATA Reshape for WooCommerce
DATA Reshape for WooCommerce is a bridge between your WooCommerce store and the DATA Reshape platform. It emits structured ecommerce events (product_viewed, product_added_to_cart, cart_viewed, checkout_started, checkout_completed, plus the mid-funnel checkout steps) into DATA Reshape’s reshape.push() queue, and DATA Reshape’s loader — served from a tracking subdomain you control — handles delivery and routing onward to GA4, Meta, TikTok, and every other destination you have connected.
Because the loader is served first-party, events are not blocked by ad blockers, ITP, or the usual third-party-script defences that break conventional gtag/fbq/ttq setups. You do not need to fire those calls in parallel — DATA Reshape routes a single event to every connected destination with the correct platform-specific name and field mapping.
This plugin does not replace analytics tools like Google Analytics or Meta Pixel; it replaces the fragile transport layer underneath them. Event processing, routing, and deduplication all happen inside DATA Reshape.
An active DATA Reshape plan is required to use this plugin. All tracking logic, integrations, and event delivery are managed through the DATA Reshape platform.
Server-side order webhook (API Events)
The « API Events » tab sends a server-to-server order webhook straight from your store to DATA Reshape. It exists to cover what the browser physically can’t: off-site payment gateways that confirm the order minutes or hours later (or where the shopper never returns to the thank-you page), and phone/admin-created orders that never had a browser session. The checkout_completed webhook uses the order number as its event ID, so DATA Reshape reconciles it with the browser purchase event — if one signal is missing the other fills in, with no double counting. An order_canceled event covers cancellations and refunds, and a Test mode validates real order payloads against DATA Reshape’s /test endpoint before you go live.
Features
Core Features
- Global enable/disable for the integration
- DATA Reshape library integration
- Subdomain tracking support
- Fully compatible with WooCommerce HPOS (High-Performance Order Storage)
Events
- Product Viewed
- Product Added to Cart (AJAX + POST + GET fallbacks)
- Product Removed from Cart
- Cart Viewed
- Checkout Started
- Checkout Steps (Billing Address Added, Shipping Detail Added, Payment Method Selected — legacy checkout only)
- Checkout Completed
- Consent integration — DATA Reshape natively detects most CMPs (Cookiebot, OneTrust, Termly, etc.) and Google Consent Mode v2, with no plugin-side wiring required
- Single « Grant consent by default » toggle for stores that don’t run a CMP — fires DATA Reshape’s native
consent_updatedpush at session start so events process immediately drswc_consent_payloadfilter for stores that want to drive the consent object explicitly from PHP- Plain user data in reshape payloads (DATA Reshape hashes server-side)
API Events (Server-side)
- Server-to-server order webhook to DATA Reshape’s
/webhooks/wordpress/eventendpoint - Fires on a configurable order status (default Processing; pick any status your flow reaches, including custom statuses)
- Covers off-site gateway returns (confirmed minutes/hours later, or the shopper never returns) and phone/admin orders with no browser session
checkout_completeduses the order number as event ID so DATA Reshape deduplicates it against the browser purchase eventorder_canceledevent on Cancelled / Refunded orders- Relays DATA Reshape’s first-party
drespacookie captured on the order at checkout - Test mode routes payloads to the
/testvalidation endpoint and surfaces errors/warnings in the admin - Optional activity log (WooCommerce-native, source
drswc-webhook) with an in-admin Logs tab for setup debugging drswc_webhook_payloadfilter to customize the outgoing envelope
Advanced Tracking
- Spec-shaped products with
price_base+price;tax_included/tax_percentonly when WooCommerce tax is enabled - Variations carry
parent_id/parent_name/parent_sku/parent_url - Order-level and product-level coupons emitted in dedicated
coupons[]arrays - Shipping methods and payment methods emitted as structured arrays on Checkout Completed
- Categories emitted as both
category(primary) andcategories[]withname+id - Stock status, product type, creation timestamp, image, and gallery images
Extensibility
drswc_event_payload— filter the full event envelope before pushdrswc_product_payload— inject GTIN/MPN/EAN, predicted values, custom properties per productdrswc_user_payload— augment user identity (pre_purchaseorpurchasesource)drswc_consent_payload— replace or inject the consent objectdrswc_webhook_payload— customize the server-side order webhook envelope
Reliability Enhancements
- Handles non-AJAX add-to-cart flows
- Handles redirect-based add-to-cart (?add-to-cart=)
- Cache-safe identity hydration — PII never inlined into cacheable HTML
- Sticky user identity model (loader caches first-seen user, subsequent events inherit)
- Safe execution timing for low overhead
Configuration
Integration Setup
- Enable Integration (master switch)
- Tracking Subdomain (the first-party host serving DATA Reshape’s loader)
- Library ID
- Built-in « Check tracking endpoint » health check
- Access token (credential for the API Events order webhook; the webhook reuses your Tracking subdomain and Library ID)
Events
- Master switch for browser-delivered events
- Per-event toggles (so events you handle via custom code can be disabled individually)
- « Grant consent by default » toggle — off by default (let DATA Reshape auto-detect your CMP / Google Consent Mode); on if you don’t run a CMP and want events processed immediately
API Events
- Enable order webhook (server-to-server checkout_completed)
- Send order when status becomes … (default Processing; choose the status your payment flow reaches)
- Sends order_canceled automatically on Cancelled / Refunded orders
- Test mode (validate real payloads against the /test endpoint without delivering to destinations)
- Log webhook activity (adds a Logs tab showing WooCommerce’s native drswc-webhook logs, scrolled to the latest)
- Requires your Tracking subdomain, Library ID, and Access token under Integration setup