Pre-order Tracking
If you are using our Shopify App, please seeInstalling our Shopify App instead. See Purple Dot Overview for the comparison of our Shopify App vs. Platform integrations.
Client side tracking
The Purple Dot SDK can automatically forwarding events to various product analytics, ad and order tracking platforms if your store uses the Purple Dot init script introduced here.
You can activate these integrations from the Integration settings page in the Merchant Portal.
Google Analytics (via Google Tags)
If your store has Google tags enabled in the theme and you enabled the Google Analytics integration in the Purple Dot portal, then the Purple Dot SDK will forward the purchase event to Google Analytics.
The purchase event that PurpleDot sends is identical to the data sent by Shopify's native Google Analytics integration.
send_to: <the provided Measurement ID>,
transaction_id: <Purple Dot pre-order reference>,
value: <total pre-order amount>,
currency: <currency shopper paid in>,
tax: <total tax>,
shipping: <total shipping cost>,
items: event.lineItems.map((lineItem) => ({
id: <line item product ID>,
name: <line item product name>,
brand: <your brand>,
category: undefined,
coupon: <any discount code that was applied>,
price: <line item price>,
quantity: <how many units of this line item>,
variant: <line item SKU>,
purchase_type: 'pre-order' | 'in-stock'
})),
purchase_type: 'Pre-order',purchase_type is a custom attribute. To see it, an event-scoped custom dimension has to be created in GA.
Google Ads (via Google Tags)
If your store has Google tags enabled in the theme and you enabled the Google Ads integration in the Purple Dot portal, then the Purple Dot SDK will forward the conversion event to Google Ads.
Meta Pixel
If your store has the Meta Pixel enabled in the theme and you enabled the Meta Pixel integration in the Purple Dot portal, then the Purple Dot SDK will forward the Purchase
and Preorder
events.
TikTok Pixel
If your store has TikTok Pixel enabled in the theme and you enabled the TikTok Pixel integration in the Purple Dot portal, then the Purple Dot SDK will forward the PlaceAnOrder event.
Yotpo
If your store has Yotpo tracking enabled in the theme and you enabled the Yotpo integration in the Purple Dot portal, then the Purple Dot SDK will forward order information to Yotpo.
Northbeam
If your store has Northbeam tracking enabled in the theme and you enabled the Northbeam integration in the Purple Dot portal, then the Purple Dot SDK will trigger firePurchaseEvent to send transaction information to Northbeam.
Custom integration
Purple Dot dispatches several CustomEvent objects on the window object. These events can be used to track user interactions, monitor conversions, and integrate with analytics platforms like Google Analytics 4.
To listen for these events, use the following pattern:
PurpleDot:Ready
This is fired when the Purple Dot SDK is ready and initialized.
Example:
PurpleDot:LearnMoreClicked
This is fired when a shopper clicks the "Learn More" link on the PDP.
This object contains some useful information:
placementType- The type of placementinstanceId- Unique identifier for this placement instanceskuId- The SKU ID associated with the placementsku- The SKU object containing product informationdisplayCurrency- The currency used for displayreleaseId- The release ID for this placement
Example:
PurpleDot:AddToCart
This is fired when a product is added to the cart as a pre-order.
This object contains some useful information:
skuId- Shopify's product variant ID of what got added to the cartinternalSkuId- Purple Dot's own ID for the same, for internal trackingreleaseId- The Waitlist ID for this productprice- The price of the line itemquantity- The quantity added to cart
Example:
PurpleDot:RemoveFromCart
This is fired when line items are removed from the cart.
This object contains some useful information:
lineItems- Array of line items in the cartshipping- Shipping informationshippingAddress- Shipping address detailsemail- Customer emailtotal- Total cart valuetax- Tax amountdiscountCode- Applied discount codecheckoutState- Current state of checkout
Example:
PurpleDot:CheckoutLoaded
This is fired when the Purple Dot checkout interface is loaded.
This object contains some useful information:
enableCombinedCart- Whether combined cart functionality is enabled
Example:
PurpleDot:PreorderCheckoutStep
This is fired when a shopper progresses through a step in the pre-order checkout process.
This object contains some useful information:
skuId- The SKU ID for the pre-orderstepName- Name of the current stepstepNumber- Number of the current stepreleaseId- The release ID for this pre-orderlineItems- Array of line itemsshipping- Shipping informationshippingAddress- Shipping address detailsemail- Customer emailtotal- Total order valuetax- Tax amountdiscountCode- Applied discount code
Example:
PurpleDot:PreorderCheckoutSubmitted
This is fired when a pre-order checkout form is submitted.
This object contains some useful information:
skuId- The SKU ID for the pre-orderreleaseId- The Waitlist ID for this pre-order
Example:
PurpleDot:PreorderCreated
This is fired when a pre-order is successfully created.
This object contains some useful information:
reference- Pre-order reference numberemail- Customer emailshippingAddress- Shipping address detailslineItems- Array of line itemstotal- Total order valueshipping- Shipping informationtax- Tax amountdiscountCode- Applied discount code
Example:
Server side tracking
Klaviyo
If you have enabled Klaviyo tracking from the Integration settings page in the Merchant Portal, then Purple Dot will send the Placed Pre-Order event to your Klaviyo project.
Converge Pixel
If you have enabled Converge tracking from the Integration settings page in the Merchant Portal, then Purple Dot will send the following event (with your desired event name) to your converge account:
Braze
When a shopper places a pre‑order, Purple Dot sends one POST /users/track request that:
Upserts marketing consent to the shopper’s profile (
attributes).Logs the
pre_order_placedevent (events).Emits a purchase row per line‑item (
purchases).
Last updated