This article provides details about the most recent changes Littledata made to the way we send checkout funnel data to Google Analytics.

Updates to the Shopify checkout funnel

Based on the feedback we received from our customers, we have made some changes to how we populate the checkout funnel to make it even more robust and clear to understand. The changes are highlighted below.

Note: The last update happened on November 25th, 2019

1. Moving from a 4-step funnel to a 3-step funnel:

As of October 25th, 2019,  we have moved away from a 4-step checkout funnel:

  1. Contact Information
  2. Shipping Information
  3. Payment Method
  4. Payment Processing (deprecated)

To a 3-step checkout funnel:

  1. Contact Information
  2. Shipping Information
  3. Payment Method

Payment Processing is the step when the user is redirected to the concerned payment authorities for verification and charge approval. Sometimes, this leads to an unnecessary spike in events at this step making the funnel look nonsensical. To simplify interpretation, we have decided to remove this step altogether.

Note: Please read our latest guide on how to correctly configure the checkout funnel

2. Retroactively adding steps for some select cases:

Due to security reasons, third-party apps such as Littledata don’t have direct access to the checkout pages on Shopify. In turn, we have to depend on Shopify to let us know all the checkout pages viewed by a particular user.

However, oftentimes when a user zips through the checkout pages in quick succession (specifically if under 10 seconds), Shopify only informs us of the last page viewed by the user (end-state). This leads to misleading spikes in some of the steps making the funnel look nonsensical. See the example below:


As of November 19th, 2019, we have implemented a solution to go around this technical limitation. 



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

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

Note: Littledata follows a 3 days cut-off to consider a cart as active, beyond which they are labeled as abandoned. Cart events that spread beyond this cut-off period are assumed to be coming from separate unique carts.

For example, let’s say a user zips through the checkout funnel and leaves at the payment page within 10 seconds. For this user, even if Shopify only communicated the final end-state (i.e. Payment Method), 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 (Shopify end-state)

Similarly, if the user zips through the entire checkout flow in under 10 seconds and places a transaction, Littledata will send all 3 step hits to Google Analytics:

  1. Contact Information (retroactively added)
  2. Shipping Information (retroactively added)
  3. Payment Method (retroactively added)



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. As stated above, this method has a 3-days cut-off beyond which the carts are considered to be abandoned, which could lead to duplicate events sent to GA. However, based on our domain knowledge, we believe a 3-days cut-off is a large enough period to suffice a significant majority of cases for most e-commerce stores.

If you want to know how to configure your checkout funnel, read this article.