Integration · GA4

GA4 data your ad blockers can't hide.

10–20% of your visitors block Google Analytics entirely. AdsPing forwards events to GA4 through the Measurement Protocol server-side, so your reports, audiences, and Google Ads imports run on complete data.

Why server-side

gtag.js is on every blocker list in existence. The visitors it misses aren't random — ad-blocker users skew desktop, technical, and high-intent, which means your GA4 conversion rates and channel reports are systematically skewed too.

GA4's Measurement Protocol accepts events server-to-server, but using it correctly means managing client IDs, session stitching, and event parameter mapping yourself.

AdsPing does this out of the box: pb.js collects first-party (unblockable via custom domain), and the backend forwards each event to your GA4 property with a consistent client_id — so sessions stitch correctly and blocked visitors stop being invisible.

How it works

  1. 01

    Install pb.js or the Shopify app

    The same single tag that powers Meta, TikTok, and Google Ads forwarding also feeds GA4 — no extra snippet.

  2. 02

    Connect your GA4 property

    Add your Measurement ID and API secret from GA4 Admin — the docs walk through both in two minutes. sGTM container routing is also supported.

  3. 03

    Events arrive via Measurement Protocol

    Purchases, leads, and page views forward server-side with consistent client_id and session parameters, appearing in GA4 like normal traffic.

  4. 04

    Reports and audiences complete themselves

    Ad-blocked sessions reappear in acquisition reports, conversion counts, and the audiences you export to Google Ads.

What you get

Measurement Protocol done right

Consistent client_id handling and session stitching so server events merge into real sessions instead of spawning phantom users.

First-party collection

With a custom tracking domain, collection happens on your own subdomain — invisible to blocker lists that target google-analytics.com.

GTM Server-side support

Prefer routing through your own sGTM container? AdsPing can deliver events there instead — same tag, your infrastructure.

E-commerce parameters included

Purchase events carry value, currency, transaction_id, and items — so GA4 e-commerce reports and Google Ads conversion imports stay accurate.

One tag, every destination

GA4 runs in parallel with Meta CAPI, TikTok, and Google Ads forwarding — one event fans out to all of them with per-destination status.

Shopify order webhooks

Shopify purchases reach GA4 server-side via webhooks — including checkout-domain sales gtag never sees.

Frequently asked questions

What is GA4 server-side tracking?
Sending events to GA4 through the Measurement Protocol (or an sGTM container) from a server instead of the visitor's browser. Ad blockers and browser privacy features can't intercept server-side requests, so GA4 receives complete data.
Will server events mess up my sessions?
No — AdsPing maintains a consistent client_id per visitor and forwards session parameters, so server events merge into the same sessions your gtag data creates rather than inflating user counts.
Do I need to remove gtag.js?
No. Keep it — AdsPing fills in the sessions gtag misses. Events carry matching identifiers so GA4 doesn't double-count.
Does this improve my Google Ads performance too?
Indirectly yes — GA4 audiences and imported conversions become more complete. For direct Google Ads conversion uploads, AdsPing also has a dedicated Google Ads Conversions API integration that forwards gclid-anchored conversions.
Can I use my own server-side GTM container?
Yes. AdsPing can route events to your sGTM container instead of (or alongside) the Measurement Protocol — useful if you already have transformation logic living there.

Stop losing conversions today.

14-day free trial on every plan. Full feature set from day one.