← Back to changelog

GTM Kit Premium 1.0

Premium
Deprecated: WP_CLI\Runner::get_subcommand_suggestion(): Implicitly marking parameter $root_command as nullable is deprecated, the explicit nullable type must be used instead in phar:///usr/local/bin/wp/vendor/wp-cli/wp-cli/php/WP_CLI/Runner.php on line 1946 Deprecated: Case statements followed by a semicolon (;) are deprecated, use a colon (:) instead in /Users/torbenlundsgaard/.wp-cli/packages/vendor/react/promise/src/functions.php on line 369

GTM Kit Premium 1.0 ships today. This is the first public release of GTM Kit Premium; it pairs with gtm-kit core 2.14.x or later.

Premium 1.0 supersedes the WooCommerce.com-marketplace GTM Kit Woo add-on. The two plugins do not run side by side: activating Premium auto-deactivates Woo on the same site, with an admin notice explaining the change and settings carried across unchanged.

For the story of what was built and why each piece is there, see the launch post: Four hard problems in WooCommerce tracking, and what GTM Kit Premium 1.0 does about each one.

What ships

Consent suite for WordPress and WooCommerce. WP Consent API integration drives GTM Kit’s consent state automatically on sites running a publishing CMP (Complianz, CookieYes, Real Cookie Banner, Borlabs Cookie, Termly, and others). A client-side event deferral queue holds selected ecommerce events until the visitor grants the required consent categories, with a 1-30 second timeout and flush-or-drop behaviour. Symmetric server-side consent records the consent your customer granted at checkout on the order itself and applies it to every server-side webhook for that order, including off-session subscription renewals. Two modes: Suppress strips identifiers the customer denied and skips the webhook entirely when all relevant consent was denied; Anonymize sends the webhook with denied identifiers removed.

Server-side webhook queue. Opt-in background dispatch on WooCommerce Action Scheduler for the purchase, order_paid, and refund webhooks. Capped retry with backoff. Confirmed-delivery semantics: an order’s event is marked fired only after a successful 2xx container response. Terminal failures are logged to a dedicated gtmkit-webhook log source.

Order-status webhook events. Three new opt-in events ride the same background queue: order_processing, order_completed, and order_refunded. Each has its own toggle in the Webhooks settings.

WooCommerce Subscriptions tracking. GA4 lifecycle events for WooCommerce Subscriptions: subscription_started client-side on the order-received page (with an opt-in server-side mode), plus opt-in server-side dispatch via the queue for subscription_renewed, subscription_cancelled, subscription_expired, and subscription_reactivated. The parent order’s attribution snapshot replays on the subscription so off-session renewals attribute to the original source.

Order attribution. First-party UTMs, click IDs, referrer, landing page, and platform cookies captured client-side to _gtmkit_attribution order meta. Meta box on the WooCommerce order-edit screen (HPOS and classic both supported). The purchase event carries an attribution object alongside ecommerce; the server-side webhook forwards the same data. WP Consent API gated.

Licence resilience. Premium features keep running for up to 72 hours when the licence server is unreachable or returns an unhealthy response. Only a confirmed-invalid or expired licence deactivates immediately.

Developer notes

New and matured filter hooks:

  • gtmkit_event_deferral_queue_config to enable the client-side deferral queue and override its event list, timeout, expiry mode, and required consent categories.
  • gtmkit_wp_consent_api_category_map to override the WP Consent API’s four-category to Consent Mode v2’s seven-category mapping.
  • gtmkit_webhook_payload to add uncaptured cookies, reshape, or redact the server-side webhook body before dispatch. The order-status events use the same hook.
  • gtmkit_attribution_marketing_params, gtmkit_attribution_tracking_cookies, gtmkit_attribution_payload, gtmkit_attribution_cookie_lifetime to extend or redact attribution at persistence time.
  • gtmkit_webhook_queue_enabled as the boolean override on the server-side queue toggle.

The server-side webhook body is documented end-to-end at /documentation/server-side-consent/, including the attribution field, the consent field, and the subscription event metadata. Premium binds to the active GTM Kit core installation (it no longer bundles a copy of core).

Upgrade notes

First public release. No upgrade path from a previous Premium version; install fresh.

Requires GTM Kit core 2.15.0 or later and WordPress 6.8 or later.

Coexistence with GTM Kit Woo. Activating Premium auto-deactivates the Woo add-on on the same site at activation time, with an admin notice explaining the change. Settings carry across. If the Woo add-on is later reactivated while Premium is still active, it is switched off again with the same notice.