Integrations
COD Delayed-Purchase Tracking Setup
Download the COD Purchase Client (.tpl)For Cash on Delivery orders, the Easyzenit WooCommerce plugin doesn't count a sale as confirmed the moment checkout completes — a customer can still refuse delivery. Instead, it waits until the order's status actually changes to "Completed" (or a custom "Delivered" status, if your store uses one), then sends a webhook directly to your sGTM server.
What gets sent
When a COD order is marked delivered, the plugin sends a POST request to {your-container-url}/easyzenit/cod-purchase, with an Authorization: Bearer {your API key} header and a JSON body containing the order's items, total, currency, and order ID — the same event shape (Purchase, with content_ids/contents/value/currency) used for every other tracked event.
This only fires for orders actually paid via Cash on Delivery — regular online payments are tracked immediately at checkout as usual, since there's no delivery-confirmation step needed for those.
Receiving it on your server — the Easyzenit COD Purchase Client
A Google Tag Manager Server Container doesn't automatically know what to do with an arbitrary incoming webhook — every request has to be handled by something GTM calls a "Client," which claims the request and turns it into an event your tags can act on. Download the Easyzenit COD Purchase Client template, then in your own GTM Server Container go to Templates > Client Templates > New > Import and select the downloaded file.
Create a new Client using the imported template, set its API Key field to match the same key configured in WordPress under Easyzenit Tracker > Settings, and set that plugin setting's Container URL to this server's own URL. Once active, any tag already triggering on a "purchase" event will fire for COD orders too — no separate trigger needed if the event naming already matches.