Tracking checkout funnel events with Littledata

Updated on 2024-01-04

Supported checkouts

One of the biggest features of Enhanced Ecommerce tracking is support for checkout steps - the navigation path which you expect your website users to follow after they initiate the checkout up to the purchase.

Littledata sends checkout steps to Google Analytics automatically, to ensure you can report on checkout conversions out of the box.

Littledata supports checkout funnel event tracking for:

* This includes the same events for both the one-step checkout being rolled out by Shopify and the original three-step checkout.

The Shopify checkout also includes checkout apps handling subscriptions and upsells. i.e. The checkout steps are the same for these customer journeys, but the resulting order is differentiated.

If you have a headless Shopify site (a headless ecommerce site with a Shopify checkout), please follow the headless setup guide first.

Default checkout steps

When the customer starts and progresses through the checkout on your ecommerce site, Littledata sends a Checkout Step event to your tracking destination for the following three checkout steps.

Step 1: Contact information

Step 2: Shipping information

Step 3: Payment method

Transaction (Order complete)

Event triggers and labels

For all destinations, the checkout journey starts when a user clicks the checkout button.

Let's take a closer look at the structure of these events, what we call them when they're triggered, and how they work.

Google Analytics destination

We send the following checkout step events.

With the Google Analytics connection, all checkout step events are sent upon landing on the respective step.


Check out a detailed list of all events supported in Littledata's GTM and Google Analytics data layer.

Segment destination

We send the following checkout step events.

* Thank you Page Viewed is sent from the browser, and won't exactly match the situations where Order Completed. See why


Check out a detailed list of all events tracked by our Segment connection.

One-click checkouts

Littledata works seamlessly with one-click checkouts (like Shop Pay), tracking the purchase and sending it over to the desired destination, as well as attributing it to the original source.

The only limitation might be the lack of Checkout Steps - because the nature of the one-click checkout is to bypass the steps entirely.

How the report looks in Google Analytics

After you install Littledata, you will start seeing data populating in your Checkout Journey report with the checkout steps like this:

Screengrab of the Checkout Journey UI in Google Analytics.

How to customize your checkout funnel in GA4

The Checkout Journey report is not editable, but you can easily rebuild it using the checkout events sent by Littledata in a Funnel Exploration report.

Here's how to build a checkout funnel in Google Analytics 4.

  1. Go to the Explore tab and start a new exploration. In the top left corner, under TECHNIQUE, select Funnel exploration and set a name for your report. You'll name this report Checkout funnel:

  1. Next, you will need to add the steps to your funnel. Go to the STEPS section and click the pencil icon to edit your funnel steps:

  1. Next, you will add the steps starting with Contact Information. Name your step, then search for the begin_checkout event:

  1. Click on Add step and repeat the process with the add_shipping_info event:

  1. Repeat the same process and select the add_payment_info event for the Payment step:

  1. Lastly, add your purchase step; search for purchase and select the event:

  1. You now have a complete checkout funnel that showcases data collected during the checkout and the drop from each checkout step:

How it works behind the scenes

For security reasons, third-party apps such as Littledata don’t have direct access to the checkout pages on Shopify. We have to depend on Shopify's webhooks to infer the checkout pages viewed by a particular user.

Edge cases

When a user zips through the checkout pages in quick succession (specifically under 10 seconds), Shopify only informs us of the last page viewed by the user. This leads to misleading spikes in some of the steps and makes the funnel nonsensical. See the example below:

Littledata's solution

For every checkout step, Littledata checks back if it has sent events for all previous steps for the same user ID and checkout ID in the last 3 days.

In cases where previous step events were NOT sent in the last 3 days, Littledata retroactively adds checkout steps to make sure the user’s journey looks complete in the checkout funnel.

For example, let’s say a user is already logged in and gets through to the payment page within 10 seconds. For this user, even if Shopify only communicated the final end-state (i.e. payment page), Littledata will assume that they went through all steps of the funnel as expected and send 3 separate step hits to GA:

  1. Contact Information (retroactively added)
  2. Shipping Information (retroactively added)
  3. Payment Method (webhook end-state)


Although retroactively adding steps makes the funnel a lot more meaningful, there are a couple of trade-offs that should be kept in mind while analyzing the data:

  1. This method could misrepresent the cases where the users actually started the session in the middle of the funnel by retroactively sending step hits to GA.
  2. Events on the same user checkout beyond the 3-days cut-off will be resent, which could lead to duplicate events sent to GA. However, we believe a 3-days will cover the vast majority of cases for most e-commerce stores.

Checkout Steps FAQ


My store has both Shopify checkout and Recharge checkout, can I see the checkout funnels separately for each?


How did the checkout funnel events work before October 2019?