What are my Options for Tracking New vs Returning Purchasers in Shopify?

Overview

Sending new vs returning purchaser data to destinations allows merchants to optimize campaigns toward just new purchasers, incentivize affiliates to drive new purchasers with higher payouts, and more.


Tracking new vs returning purchasers in Shopify

Server-side:

Elevar receives a purchaser's total order count offline from Shopify. If the total order count is 1, this means it's a first time purchaser. If the total order count is 2 or higher, this means it's a returning purchaser.

Since the server-side data we send to destinations is also sent offline, we are able to merge the accurate new vs returning information pulled offline from Shopify with the server-side purchase events before sending them.

This method is the most accurate method of tracking new vs returning purchasers.

Note: if you are an existing customer, please follow these steps to enable the above logic in your account, if you haven't already done so.

Customer Type in Your Existing Purchase Events:

We automatically pass new vs returning customer as parameter to destination that accept it. See below on how we pass this data into the following destinations.

GA4Server-side purchase event passes the following user parameters: total_order_count & customer_type (either New or Returning). You must set 'total_order_count' and '_customer_type' as a custom definition for this to take effect. This is done in GA4 by going to Admin > Custom Definitions > Create Custom Dimension.
FacebookThe server-side purchase event passes the customer_type parameter.
SnapchatServer-side purchase event passes customer_status parameter.
Impact RadiusServer-side purchase passes the CustomerStatus parameter.
AwinServer-side purchase event passes customeracquisition parameter.
RakutenServer-side purchase event passes custstatus parameter
PartnerizeServer-side purchase event passes customertype parameter.
ShareASaleServer-side purchase event passes newcustomer parameter.

Introducing New and Returning Purchase Events:

New Customer Purchase and Returning Customer Purchase server-side events are now available as of May 2024 for the following destinations!

  • Facebook
  • Google Ads
  • TikTok
  • Outbrain
  • Voluum
  • Taboola
  • Bing

Enabling Events:

  • To enable these events begin on your Elevar homepage and use the left-hand menu to click on the "My Tracking" tab.
  • Click on the desired destination and select the "Events" tab from the Setup Steps.
    • Locate and click on the "Customize settings" button.
    • Enable the New Customer Purchase and/or Returning Customer Purchase server-side events.
    • After making the desired changes, click on the "Save" button located at the bottom of the page.
      • (See Figure 1)

Step 2 screenshot

_Figure 1_

Client-side:

Custom Pixel:

If you are using a Custom Pixel in Shopify's Customer Events setting to load your Thank You page Elevar code, the dl_purchase event will populate a total_order_count that reflects Shopify's ordersCount web pixel parameter.

Currently, the web pixel parameter will only populate if the shopper is logged in to their account. It also has an up to 15 minute delay before it is updated to include the most recent order. Therefore, if the total order count is 0 or 1, this means it's a first time purchaser. If the total order count is 2 or higher, this means it's a returning purchaser. And if the total order count is empty, that means the shopper is not logged into their account.

Shopify is working to add this parameter in shopper regardless of login, but until that update is made expect client-side data from the Custom pixel to be limited.

Update your web tags for Facebook and Snapchat:

If you your Facebook and Snapchat web tags have not been updated after December 11, 2023 they will need to be updated in Google Tag Manager (GTM) to pass the new vs returning data client-side.

Trigger Custom events in Google Tag Manager based on New or Returning Customer:

  • You can fire custom events in GTM for new purchasers only triggering only on dl_purchase events where the js - Customer Type variable equals new.
    • (See Figure 2)

Figure 2