Aug 5, 2026 · 10 min read
How to Build a Funnel Analysis in GA4 for Shopify
First-hand guidance from the Daymark team on analytics workflows, growth reporting, and the operational metrics teams use to make decisions.
A GA4 funnel exploration shows you exactly where Shopify shoppers drop off between viewing a product and completing an order. Shopify's own analytics tells you the end result: sessions, conversion rate, revenue. It does not show you the four steps in between, or which one is bleeding the most people. GA4's Explore section does, if you build the funnel correctly.
This guide walks through building a view_item to add_to_cart to begin_checkout to purchase funnel in GA4, step by step, including the settings that change what the funnel actually measures. It also covers the discrepancies you will hit between GA4's numbers and Shopify's, because those are inevitable and worth understanding before they cause a Slack message asking why nothing matches.
Why Shopify Analytics Alone Doesn't Show You This
Shopify's dashboard reports sessions, add-to-carts, reached checkout, and sessions converted as a simple summary, not as a connected, segment-able funnel. You can see that 8% of sessions added to cart and 2% converted, but you cannot easily ask "of the visitors who added to cart from a Google Ads campaign on mobile, what share reached checkout." GA4's event-based tracking captures the same commerce events (view_item, add_to_cart, begin_checkout, purchase) if your Shopify GA4 integration or Google tag is firing ecommerce events correctly, and its Explore section lets you build a funnel visualization on top of them with segment breakdowns Shopify's native reports don't offer.
The tradeoff is setup complexity and a set of counting quirks that don't exist in Shopify's own numbers. Both tools are right. They are just counting different things.
Building the Funnel Exploration, Step by Step
The funnel lives in GA4's Explore section, not the standard reports. You'll create a new Funnel exploration, add the four commerce steps in order, then layer on the settings that determine what counts as a "step" and who's included. Each setting below changes the output, so build it once, understand what each toggle does, then save it as a template you reuse.
Step 1: Open a Funnel Exploration
In GA4, go to Explore in the left nav, then click Blank or select the Funnel exploration template from the gallery. This opens the exploration canvas with a Variables panel on the left, the funnel builder in the middle, and a visualization on the right.
Name the exploration something you'll recognize later, like "Shopify Purchase Funnel," in the tab at the top. Set the date range in the Variables panel to a period with enough volume to be meaningful, at least two to four weeks for most stores.
Step 2: Add the Four Commerce Steps
Click Steps in the middle panel, then Add step. Add these four steps in this exact order:
- Step 1: view_item, condition: Event name equals
view_item - Step 2: add_to_cart, condition: Event name equals
add_to_cart - Step 3: begin_checkout, condition: Event name equals
begin_checkout - Step 4: purchase, condition: Event name equals
purchase
Each step defaults to "Event name" as the condition dimension. Confirm it's picking up the GA4 enhanced ecommerce events your Shopify integration sends. If a step shows near-zero users, that event isn't firing, which is a tagging problem to fix before trusting anything downstream in the funnel.
Step 3: Choose Open vs Closed Funnel
Above the step list, there's a toggle for Open funnel vs Closed funnel. This single setting changes your numbers more than almost anything else in the report.
A closed funnel only counts users who entered at Step 1 (view_item) and follows them through in strict order. Anyone who added to cart without a prior tracked view_item in the session, common with quick-add buttons on collection pages, gets excluded entirely from the funnel.
An open funnel lets users enter at any step. Someone who lands on a collection page and quick-adds to cart shows up starting at Step 2, without needing a Step 1 event first.
For most Shopify stores, start with an open funnel. Quick-add and buy buttons on collection and search pages are common enough that a closed funnel understates real add-to-cart volume. Switch to closed only when you specifically want to study the behavior of users who viewed a full product detail page first.
Step 4: Set the Elapsed Time Window (Optional but Useful)
Click the clock icon next to "Steps" to set a time constraint, for example "within 30 minutes" between steps. Without this, GA4 will count a step completed at any point in the session, even days later for a returning visitor, which can inflate later-funnel steps for stores with long consideration cycles. Setting a window keeps the funnel focused on a single shopping session's behavior. Skip it if you specifically want to study cross-session paths to purchase.
Step 5: Read the Funnel Visualization
The main chart shows each step as a bar with the number and percentage of users who reached it, plus the step-to-step drop-off percentage in red between bars. This is the number that matters most: not the overall conversion rate, but which single step has the steepest drop.
A typical pattern for a Shopify store looks like a large drop between add_to_cart and begin_checkout, often 60-70%, since cart abandonment is where most volume disappears. If your steepest drop is instead between view_item and add_to_cart, that's a product page or pricing problem, not a checkout problem, and it changes what you fix first.
Step 6: Add a Segment Overlay to Find the Real Problem
Click the Segment Comparisons card in the Variables panel, then + to add a segment, either a prebuilt one like "Mobile traffic" or a custom segment built from Session source/medium, Device category, or a specific campaign. Drag it into the funnel to overlay a second funnel line on the same chart.
This is where the funnel becomes actionable instead of just descriptive. An overall 65% add-to-cart-to-checkout drop-off might hide a 45% drop-off on desktop and an 80% drop-off on mobile. Segment by device, by traffic source, and by new-vs-returning visitor at minimum. Each usually tells a different story, and the store-wide average tells none of them accurately.
Why GA4 Numbers Won't Match Shopify's
Before you trust this funnel in a meeting, know where it will disagree with Shopify's own reports. None of these are bugs. They're two systems counting fundamentally different things.
Session-based vs order-based counting. GA4 counts users and sessions. Shopify counts orders. A customer who opens two tabs, or returns three hours later to finish checkout, can register as multiple GA4 sessions but a single Shopify order. This alone can make GA4's purchase count and Shopify's order count diverge by several percentage points in a normal week.
GA4 sampling and thresholding. At high enough data volumes, GA4 Explore reports apply sampling, computing results from a subset of data and extrapolating, which introduces a margin of error you won't see in Shopify's exact counts. Separately, GA4 applies data thresholding to any report with demographic or Google Signals-based dimensions, which can suppress or blank out rows entirely for low-volume segments. Neither shows up as an error message. The numbers just look slightly, or sometimes very, off.
Ad blockers and consent mode cut GA4 volume, not Shopify's. Every ad blocker, tracking blocker, or declined cookie consent banner removes that visitor from GA4 entirely while their order still lands in Shopify if they complete a purchase. Depending on your traffic mix, this alone can make GA4's top-of-funnel numbers meaningfully lower than reality, while Shopify's order count stays accurate since it doesn't depend on client-side tracking.
Cross-device and cross-browser gaps. A shopper who adds to cart on their phone during a commute and completes checkout on a laptop that night looks like two disconnected users to GA4 unless they're signed into a Google account with Signals enabled. Shopify sees one customer and one order. This is a structural limitation of client-side, cookie-based analytics, not a configuration mistake you can fix.
Purchase event timing and refunds. GA4's purchase event usually fires at the moment of transaction. Shopify's order count can shift afterward with cancellations, refunds, or edits that GA4 never re-processes. A funnel pulled today and the same funnel pulled next week, for the same date range, can show a slightly different purchase count for that reason alone.
How to Use the Funnel Without Chasing Phantom Problems
Once you accept that GA4 and Shopify will never match exactly, the funnel becomes genuinely useful for one specific job: finding the step with the worst relative drop-off, then segmenting that step until you find which traffic, device, or campaign is driving it. Don't use GA4's absolute purchase count as your revenue number. Use the shape of the funnel, and the segment comparisons, to decide what to fix next.
Check the funnel weekly rather than daily. Session-level and sampling noise makes day-to-day swings mostly meaningless, but a week-over-week shift in where the steepest drop happens is worth investigating. If your baseline conversion rate benchmarks are unclear, see what a good conversion rate looks like before deciding whether a given drop-off is actually a problem or just normal for your category.
Frequently Asked Questions
What events do I need for a GA4 ecommerce funnel?
At minimum, view_item, add_to_cart, begin_checkout, and purchase. These are part of GA4's standard enhanced ecommerce event set and are what most Shopify-to-GA4 integrations send automatically. If a step in your funnel shows near-zero users, that specific event usually isn't firing correctly and needs to be fixed in your tagging setup before the funnel data can be trusted.
Should I use an open or closed funnel in GA4?
Start with an open funnel for most Shopify stores, since it counts users who enter at any step, including quick-add-to-cart from a collection page without a tracked product view first. A closed funnel only counts users who completed every prior step in order, which understates volume when quick-add or buy buttons are common. Use closed funnels only to study full product-page-first journeys specifically.
Why doesn't my GA4 purchase count match my Shopify order count?
They count different things. GA4 tracks sessions and client-side purchase events, which miss ad-blocked visitors, cross-device journeys, and later refunds or cancellations. Shopify counts actual completed orders directly from checkout. GA4 also applies sampling and data thresholding on high-volume reports, which adds further variance. Treat GA4 as directionally accurate for behavior, and Shopify as the source of truth for revenue and order counts.
How much traffic do I need before a GA4 funnel is reliable?
A few hundred users per step per week is a reasonable floor for spotting real patterns rather than noise. Below that, day-to-day swings in drop-off percentage are mostly random variance, not a real change in behavior. Look at the funnel over a two-to-four-week window and prioritize week-over-week shifts in the steepest drop-off point over single-day readings.
Can I segment a GA4 funnel by traffic source and device at once?
You can add device or source as a breakdown dimension for one funnel view, or use segment comparisons to overlay two or three segments at once, such as mobile paid social versus desktop organic. GA4 does not easily support more than a few overlapping segments in one chart before it becomes unreadable, so run separate segment comparisons for each variable you want to isolate.
Conclusion
A GA4 funnel exploration answers a question Shopify's own dashboard cannot: which specific step between product view and purchase is losing the most people, and for which segment. Build it once with the four core commerce steps, pick open or closed funnel deliberately, and use segment overlays to find where the real problem lives instead of staring at a blended average.
Treat the absolute numbers as directional, not exact. For revenue and order counts, Shopify stays the source of truth. For a deeper look at whether your funnel's conversion rate is actually healthy, see the conversion rate glossary entry. Once you know where the funnel leaks, the next question is usually which traffic sources are worth defending, covered in which traffic sources send buyers, not browsers. Both plug into the broader store funnel playbook.