Install guide
WordPress + WooCommerce

GA4 saw 600 orders. WooCommerce shipped 1,000.

Server-side GA4 Measurement Protocol on every WooCommerce thankyou hook + WordPress / Woo dataLayer context + a reconciliation dashboard that compares the two. Five-minute install. The plugin is on the WordPress.org repo — nothing to compile, nothing to deploy.

# one-click plugin · GA4 MP server-side · reconciliation dashboard
1

Install the plugin: WP admin or upload.

Two equivalent paths — the WordPress.org search is faster for non-technical merchants, the upload path is preferred for staged deploys.

  1. WP admin → PluginsAdd New → search TagDrishti → Install → Activate, OR
  2. Upload the ZIP to /wp-content/plugins/ and activate from Plugins.
Compatibility: WP 5.6+, PHP 7.4+, WooCommerce 6+. HPOS (High-Performance Order Storage) supported — we use wc_get_order() and the order CRUD APIs, which abstract over HPOS vs the legacy CPT model. Multisite networks are supported with one workspace per site by default.
2

Connect the workspace: UUID + region.

Free TagDrishti account at accounts.tagdrishti.com/sign-up. Copy the workspace UUID from your dashboard.

  1. WP admin → SettingsTagDrishti.
  2. Paste the workspace UUID.
  3. Pick the data residency region:
RegionEndpointBest for
apacapac.tagdrishti.comIndia, SE Asia, MENA
eueu.tagdrishti.comEU, UK (GDPR-aligned)
usus.tagdrishti.comAmericas
auau.tagdrishti.comAustralia, NZ
Smoke test: open the storefront in incognito and view source. The TagDrishti tracker <script> should be in the <head>, served from the regional endpoint you picked.
3

GA4 credentials: Measurement ID + API secret.

The GA4 Measurement Protocol needs both. The Measurement ID is public (format G-XXXXXXXXXX); the API secret is the auth that lets your server send events.

  1. GA4 admin → AdminData Streams → click your web stream → copy the Measurement ID (top of the page).
  2. Same screen → scroll to Measurement Protocol API secretsCreate. Name it "WooCommerce server-side". Copy the value.
The API secret is shown once. If you miss it, generate a new one and replace it in the WP admin.
4

Enable server-side purchases: flip the switch.

In the WP admin, under Settings → TagDrishti → GA4 — close the revenue-tracking gap:

  1. Paste the GA4 Measurement ID and API Secret.
  2. Toggle Send server-side purchase eventsYes.
  3. (Recommended for first install) toggle Send to GA4 DebugViewYes. Place a real test order. The purchase event should appear in GA4 DebugView within 30 seconds, with transaction_id matching the WooCommerce order number.
  4. Once verified, toggle DebugView back to No — debug events don't count towards GA4 reports.
How dedup works: the server-side event uses the same transaction_id as the client-side gtag fire, so GA4 dedups within a 4-hour window. If the client was blocked by an ad-blocker, GA4 keeps the server-side event. If the server-side hit a network error, GA4 keeps the client-side. Never doubles, never misses.
5

Reconciliation relay: issue a relay token.

Optional but recommended — the reconciliation dashboard at dashboard.tagdrishti.com/dashboard/wordpress-tag-trust only lights up once you wire this.

  1. Open dashboard.tagdrishti.com/dashboard/integrations/wordpress-tag-trust.
  2. Click Issue relay token. Plaintext is shown once — copy it.
  3. Back in WP admin → Settings → TagDrishti → Reconciliation dashboard relay:
    • Enable relay → toggle on.
    • Relay token → paste the plaintext.
    • Click Save Changes.
Failure is silent. The relay POST is fire-and-forget — if TagDrishti is unreachable, you lose dashboard data for that order; GA4 already received the event regardless. The customer's thank-you page never blocks on relay status.
+

Optional: connect WooCommerce REST API.

Once you've completed steps 1-5, the dashboard shows TagDrishti server-side delivered + GA4 client-side fires. Adding WC REST credentials lets the dashboard ALSO show the merchant's authoritative WooCommerce order count from WP admin — the third number in the reconciliation triple.

  1. WP admin → WooCommerce → Settings → Advanced → REST APIAdd key. Read-only scope. Copy the consumer key (ck_…) and consumer secret (cs_…).
  2. Back in dashboard.tagdrishti.com/dashboard/integrations/wordpress-tag-trustWooCommerce REST API → paste both. Save.
What it unlocks: the headline tile flips from "Connect WooCommerce" to the actual order count. Both credentials are encrypted at rest.
# when_events_arent_landing

Diagnostic checklist (walk in order, stop at the first hit).

  1. Is the tracker rendering? View source on any storefront page. The <script src="…/tagdrishti.js"> tag should be in the <head>. Missing means workspace UUID is invalid or the region picker isn't saved.
  2. Is dataLayer firing? DevTools console → window.dataLayer. Should include tagdrishti_cms = 'wordpress'. Missing means the plugin's wp_head hook didn't register — check Plugins → TagDrishti is Active.
  3. Are GA4 ecommerce events firing? Add a product to cart, watch dataLayer for an add_to_cart push with items[]. Missing means WooCommerce isn't the active commerce plugin OR the product is in a non-published state.
  4. Is the server-side MP firing? Place a test order. Check WP admin → Tools → Site Health → Logs (or your server's error log). Look for a tagdrishti_send_ga4_mp entry. Missing means the toggle is off or the GA4 credentials are blank.
  5. Is GA4 accepting the event? GA4 admin → DebugView with Send to GA4 DebugView toggled on. Should see purchase within 30 seconds. If not, the Measurement ID or API secret is wrong — regenerate the API secret in GA4 admin.
  6. Is the reconciliation dashboard showing data? Check dashboard.tagdrishti.com/dashboard/wordpress-tag-trust. TagDrishti delivered count = 0 means the relay token is missing / wrong / disabled. Re-issue it in the Integrations page.
# compatibility

Works with your existing stack.

The plugin only adds. It does not load GTM, replace existing tags, or interfere with MonsterInsights / Site Kit / GTM4WP.

SurfaceSupported
WordPress 5.6+ / PHP 7.4+yes
WooCommerce 6+ / 7+ / 8+yes
WooCommerce HPOSyes (uses wc_get_order())
Multisite networksyes (one workspace per site)
Coexists with MonsterInsights / Site Kit / GTM4WPyes
Subscriptions / Bookings extensionsyes (purchase fires on completion)
# or_install_on

Same engine, different platform.

14 days · your store · no card

Recover the orders GA4 didn’t see.

Five-minute install. Place a test order. Within an hour the dashboard is showing you what GA4 client-side missed and what TagDrishti server-side recovered. 14 days free, no card.