DATA Reshape for WooCommerce connects your store to the DATA Reshape platform. It pushes structured ecommerce events (product_viewed, product_added_to_cart, product_removed_from_cart, cart_viewed, checkout_started, checkout_completed, plus the billing, shipping and payment steps of checkout) into DATA Reshape’s reshape.push() queue. DATA Reshape’s loader, served from a tracking subdomain you control, delivers them 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 sends each event to every connected destination with that platform’s event 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 and routing happen inside DATA Reshape.
An active DATA Reshape plan is required. Tracking logic, integrations and event delivery are managed in the DATA Reshape platform.
Server-side order webhook (API Events)
The API Events tab sends an order webhook from your server straight to DATA Reshape. It covers what the browser 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 or admin 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, and the order is counted once. An order_canceled event covers cancellations and refunds, and Test mode checks 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
- Tracking subdomain support
- Fully compatible with WooCommerce HPOS (High-Performance Order Storage)
Events
- Product Viewed
- Product Added to Cart: shop and archive grids, product pages, quick views and shortcode product forms,
?add-to-cart= links, the block shop grid and product form, the Mini-Cart and the block Cart
- Product Removed from Cart: the classic cart and mini-cart widget, the Mini-Cart and the block Cart (where lowering a quantity counts as a removal)
- Cart Viewed
- Checkout Started
- Checkout steps (Billing Address Added, Shipping Detail Added, Payment Method Selected) on both the block and the shortcode checkout
- Checkout Completed
Consent
- DATA Reshape detects most CMPs (Cookiebot, OneTrust, Termly and others) and Google Consent Mode v2 on its own, with nothing to set up in the plugin
- A “Grant consent by default” toggle for stores that don’t run a CMP. It sends DATA Reshape’s native
consent_updated push at session start, so events are processed straight away. Off by default; turning it on asks for an explicit GDPR confirmation
drswc_consent_payload filter to set the consent object from PHP
API Events (Server-side)
- Server-to-server order webhook to DATA Reshape’s
/webhooks/wordpress/event endpoint
- Fires on the order status you choose (default Processing; any status your flow reaches, including custom statuses)
- Covers off-site gateway returns (confirmed minutes or hours later, or the shopper never comes back) and phone or admin orders with no browser session
checkout_completed uses the order number as event ID, so DATA Reshape deduplicates it against the browser purchase event
order_canceled event on Cancelled and Refunded orders
- Relays DATA Reshape’s first-party
drespa cookie, captured on the order at checkout
- Test mode sends payloads to the
/test validation endpoint and shows the returned errors and warnings in the admin
- Optional activity log (WooCommerce logs, source
drswc-webhook) with a Logs tab in the settings for setup debugging
drswc_webhook_payload filter to customize the outgoing envelope
Advanced Tracking
- Spec-shaped products with
price_base and price; tax_included and tax_percent only when WooCommerce tax is enabled
- Variations carry
parent_id, parent_name, parent_sku and parent_url
- Order-level and product-level coupons in dedicated
coupons[] arrays
- Shipping and payment methods as structured arrays on Checkout Completed
- Categories as both
category (primary) and categories[] with name and id
- Stock status, product type, creation timestamp, image and gallery images
- User data is sent unhashed; DATA Reshape hashes it server-side
Extensibility
drswc_event_payload: filter the full event envelope before it is pushed
drswc_product_payload: add GTIN/MPN/EAN, predicted values or custom properties per product
drswc_user_payload: extend the user identity (pre_purchase or purchase source)
drswc_consent_payload: replace or inject the consent object
drswc_webhook_payload: customize the server-side order webhook envelope
Reliability
- Classic form submissions and
?add-to-cart= links are tracked even when the plugin’s JavaScript fails to load, including with WooCommerce’s redirect to the cart page
- Simple products added on the product page are still tracked when a bundle or volume-discount plugin takes over the click
- Product-page adds are still tracked when
admin-ajax.php is blocked
- Works with JavaScript optimizers that defer or delay scripts (Cloudflare Rocket Loader, WP Rocket, Perfmatters, LiteSpeed): events wait for the plugin’s script instead of failing
- Cache-safe identity: personal data is never written into cacheable HTML
- Sticky user identity (the loader keeps the first user it sees, and later events inherit it)
- The plugin’s add-to-cart detection methods share one duplicate check, so an add that several of them see is sent once
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 (the credential for the API Events order webhook; the webhook reuses your Tracking subdomain and Library ID)
Events
- Master switch for browser-delivered events (on by default)
- Per-event toggles, all on by default, so you can turn off any event your store already sends with custom code
- Consent section with the “Grant consent by default” toggle. Leave it off to let DATA Reshape detect your CMP or Google Consent Mode; turn it on only if you don’t run a CMP and have a lawful basis to track without one. Enabling it asks you to confirm the GDPR implications, and the section stays highlighted while it is active
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 and Refunded orders
- Test mode (checks real payloads against the /test endpoint without delivering to destinations)
- Log webhook activity (adds a Logs tab showing WooCommerce’s drswc-webhook logs, scrolled to the latest entry)
- Requires your Tracking subdomain, Library ID and Access token under Integration setup