Most DTC brands run paid ads before they actually know what's working. They look at ROAS and call it a day. But ROAS only tells you the last step. You need the full picture — from the moment someone lands on your site to the moment they buy.
Here's how to build it.
Tip 1: Set up these five GA4 events before anything else
These are the only events that matter for a DTC funnel:
- view_item — someone looked at a product page
- add_to_cart — they showed real intent
- begin_checkout — they started the process
- purchase — they completed it
- refund — they changed their mind
If you're on Shopify with a standard theme, the first three fire automatically via the Google & YouTube channel app. The purchase event does not — more on that below.
Tip 2: Read your funnel drop-off before you do anything else
Once your events are live, go to GA4 → Explore → Funnel Exploration. Build a funnel with all five steps. Look at where you lose the most people:
- High view → low add-to-cart? Your product pages aren't converting. Fix the copy, images, or price.
- High add-to-cart → low checkout? People are hesitating. Check your shipping cost display — this is the #1 killer.
- High checkout → low purchase? Something is breaking in the checkout flow. Run it yourself on mobile.
Don't touch your ads until you know these numbers.
Tip 3: Fix the Shopify purchase tracking gap first
Here's what most guides skip: if your store uses Shopify's native checkout, your purchase event is almost certainly not tracking correctly.
When a customer clicks "Checkout," Shopify sends them to checkout.shopify.com — a different domain. Your GA4 tag stays on your store's domain. The purchase completes on Shopify's side, so GA4 never fires.
The fix: Add a server-side GA4 Measurement Protocol call to your Shopify order webhook. Every time an order confirms, it POSTs the purchase data directly to GA4 from your server — no domain issue, no lost data.
This takes a developer about two hours. It's the most important tracking fix you can make before running paid ads.
Tip 4: Turn on cross-domain tracking if you use a landing page
If you drive paid traffic to a separate landing page and that page links to your Shopify store, GA4 sees two separate visitors instead of one person's journey.
Fix it in GA4: Admin → Data Streams → your stream → Configure tag settings → Configure your domains. Add both domains. GA4 will now stitch the sessions together.
Without this, your conversion rates will look worse than they are, and you'll make bad budget decisions.
Tip 5: Set up one conversion event before you launch ads
In GA4, go to Admin → Events and mark purchase as a conversion. This is what Google Ads and Meta use to optimize your campaigns.
If purchase isn't marked as a conversion, your ad platforms are optimizing for clicks, not buyers. You'll spend more and get less.
Tip 6: Give it two weeks before drawing conclusions
GA4 needs data volume to be useful. Run your baseline tracking for at least two weeks before making changes or launching paid campaigns. You need enough events to see real patterns — not noise.
Genesis iTG helps ecommerce brands set up the analytics foundation to make smarter decisions.




