Implement GA4
You spent months optimizing campaigns, refining audiences, and scaling ad spend and then your GA4 dashboards went dark. The moment your team moved to server-side tracking with EdgeTag, the metrics you rely on for daily decision-making started telling a different story. The data feeding your advertising platforms got better, but the data feeding your reporting got worse.
EdgeTag’s client-side data stream fixes this disconnect. It sends a parallel, browser-based copy of your analytics events directly to GA4 restoring the session-level, user-level, and campaign-level visibility that digital marketers depend on. Your advertising platforms keep receiving high-quality server-side data. Your GA4 reports get the client-side signals they were designed for. No extra cost. No code changes.
This guide walks you through creating a dedicated GA4 property, connecting it to EdgeTag’s client-side data stream, and validating that your reports reflect the full picture.
Who Should Consider This
Performance marketing teams running EdgeTag server-side who still use GA4 for daily reporting, campaign analysis, or executive dashboards.
Digital marketers migrating from a browser-only pixel setup who want to preserve historical GA4 continuity. If you have year-over-year benchmarks, audience segments, or funnel reports built in GA4, losing data continuity during a server-side migration creates blind spots right when you need clarity most.
Multi-brand or multi-domain operators who use GA4 as a centralized analytics layer. GA4 allows up to 4 properties (containers) per domain, so adding a dedicated EdgeTag-fed property keeps your test and production data cleanly separated.
Teams comparing attribution across platforms : GA4 data-driven attribution vs. in-platform reporting vs. EdgeTag’s own attribution.
Why This Matters for Campaign Performance
EdgeTag’s core architecture sends events server-side , directly from EdgeTag’s infrastructure to platforms like Meta, Google Ads, TikTok, and Klaviyo. This is what drives the higher match rates and improved return on ad spend your media buyers care about.
But GA4 is where you do your analysis. And GA4 was designed to ingest data client-side. When it only receives server-sent hits, three things break that directly impact your marketing workflow:
Campaign attribution disappears. Server events cannot initiate or continue a GA4 session. That means UTM parameters, traffic source, medium, and campaign data are lost. Your Acquisition reports show “(not set)” where they should show the campaign that drove the sale. You lose the ability to compare channel efficiency inside GA4.
Remarketing audiences stop populating. GA4 audiences for Google Ads depend on client-side session and user signals. If you are building audiences like “added to cart but didn’t purchase in 7 days” or “viewed 3+ product pages,” those audiences will shrink to near-zero without client-side data flowing.
EdgeTag’s client-side data stream addresses all three. It sends a lightweight, browser-based copy of your key events, page views, product views, add-to-carts, purchases, directly to your GA4 property through the standard gtag.js pathway.
The result: your media buyers get best-in-class server-side signal for platform optimization, and your marketing analysts get the complete GA4 data they need for reporting, audience building, and strategic decisions, without double-counting and at no extra cost.
What You Will Need
Before enabling the client-side data stream, verify the following:
An active EdgeTag installation/implementation on your domain with your core eCommerce events (pageview, add to cart, initiate checkout, purchase) already flowing
A Google Analytics 4 property, either your existing production property or a new test property (recommended for initial validation)
Your GA4 Measurement ID (format: G-XXXXXXXXXX), found in GA4 under Admin -> Data Streams -> Web
Access to the EdgeTag Dashboard with permission to configure plugins and channels
Setting Up a Dedicated GA4 Test Property
We recommend creating a separate GA4 property for initial testing. This prevents interference with your existing analytics and lets your marketing team validate the data before switching reporting over.
Create the property
Log into Google Analytics and navigate to Admin
Under your account, click Create Property
Name it clearly, for example, [Your Brand] - EdgeTag Test
Set your reporting time zone and currency to match your production property
Complete the business details prompts and create the property
Create a web data stream
Inside the new property, go to Admin → Data Streams
Click Add Stream → Web
Enter your website URL and provide a stream name (e.g., EdgeTag Client-Side Stream)
Copy the Measurement ID (G-XXXXXXXXXX) — you will need this in the EdgeTag Dashboard
Disable enhanced measurement (optional)
If you want EdgeTag to be the sole source of events, toggle off Enhanced Measurement in the data stream settings
This prevents the native GA4 snippet from duplicating events that EdgeTag will send
Configuring EdgeTag’s Client-Side Data Stream
Enable the GA4 plugin
Log into the EdgeTag Dashboard
Select your domain and scroll to the Plugins section
From the dropdown menu, select the GA4 Client-Side Stream plugin and click Add
Configure the plugin
Name: Use a descriptive name following your naming convention (e.g., GA4 - Production or GA4 - Test Property)
Measurement ID: Enter the G-XXXXXXXXXX value from your GA4 data stream
Channel instances: Select whether this stream applies to all channels or specific instances. For initial testing, applying to all channels ensures comprehensive coverage.
Map your events
EdgeTag automatically maps its standard eCommerce events to GA4’s expected event schema:
EdgeTag Event
GA4 Event
Key Parameters
PageView
page_view
page_location, page_title
ViewContent
view_item
items[], value, currency
AddToCart
add_to_cart
items[], value, currency
InitiateCheckout
begin_checkout
items[], value, currency
Purchase
Purchase
transaction_id, value, items[], currency
EdgeTag handles parameter formatting, currency codes, and item array structure automatically.
Save and publish
Click Save to activate the plugin
EdgeTag will begin sending client-side events to your GA4 property on the next page load
Validating Your Setup
Validation is critical, both technically and strategically. Before your marketing team shifts reporting to the new data stream, confirm the numbers hold up.
Real-time verification
Open your GA4 property and navigate to Reports → Realtime
Visit your website in a separate browser tab and perform key actions: browse a product page, add to cart, begin checkout
Confirm that events appear in the Realtime report within seconds
Verify that page_view, view_item, and add_to_cart events are all registering
DebugView confirmation
In GA4, navigate to Admin → DebugView
Enable debug mode in your browser (using the GA Debugger Chrome extension or by adding debug_mode=true to your URL)
Walk through a complete purchase funnel and confirm every event fires in the correct sequence
Check that event parameters (transaction_id, value, currency, items) are correctly populated
Cross-reference with EdgeTag
In the EdgeTag Dashboard, review your event volume for the same time period
Compare purchase counts and revenue totals between EdgeTag’s server-side logs and GA4’s reports
Minor discrepancies (1–3%) are normal due to browser ad-blockers and timing differences. Larger gaps may indicate a configuration issue.
Measuring the Impact on Your Marketing
Once the client-side data stream is active and validated, here is what to watch — and what to tell your team:
Session and User Recovery: Compare pre- and post-activation session volumes in GA4. Most teams see counts return to or exceed pre-migration levels within 24–48 hours. This is the fastest way to confirm the stream is working and to restore confidence in your reporting baseline.
Campaign Attribution Accuracy: Check your GA4 Acquisition reports. UTM-tagged campaigns should now show correct source, medium, and campaign values instead of “(not set)” or “(direct).” This directly impacts how you evaluate channel mix and reallocate budget — if Google Ads was getting undercredited because of missing attribution, you will see that corrected here.
Funnel Drop-Off Insights: Build a funnel exploration in GA4 (page_view → view_item → add_to_cart → begin_checkout → purchase). With complete client-side data, you can now accurately measure where users abandon the journey. If your checkout abandonment rate is 68% but your product-to-cart rate is only 4%, you know where to focus your CRO effort — and that insight was invisible without client-side data.
Remarketing Audience Growth: If you use GA4 audiences for Google Ads remarketing, monitor audience sizes daily for the first two weeks. Audiences like “cart abandoners - 7 day” or “high-value browsers” should show steady population growth. Healthy audience sizes directly improve your remarketing campaign reach and reduce CPAs.
Cross-Platform Attribution Comparison: With GA4 fully populated, you now have three attribution perspectives: in-platform reporting (Meta, Google Ads), EdgeTag server-side data, and GA4 data-driven attribution. Use all three to triangulate true channel performance. Where two or more sources agree, you can invest with confidence. Where they diverge, you have found where deeper analysis is needed.
Cost and Property Limits
EdgeTag’s client-side data stream for GA4 is included at no additional cost with current EdgeTag minimums. Since GA4 allows up to 4 properties per domain, you can comfortably maintain separate production and test properties without hitting limits.
If you are already running a GA4 property with an existing gtag.js snippet, EdgeTag’s client-side stream replaces that snippet, it does not stack on top of it. This means no incremental event volume and no risk of inflated GA4 usage.
Last updated
Was this helpful?

