Events Tracked by the Web Pixel
The custom web pixel subscribes to Shopify's customer events and delivers them to Chord as tracking plan events. This page lists what you get without writing any theme code.
These thirteen events are the complete set of standard customer events Shopify exposes to web pixels — not a subset Chord selected. If an interaction you care about is not in this list, Shopify does not publish an event for it, and it has to be instrumented in the theme. See Custom Events on Shopify.
Storefront events
These fire on your theme's pages. The pixel forwards them to @chordcommerce/analytics on the top window, which delivers them to Chord and to any device-mode destinations.
Shopify event | Chord event | Notes |
|---|---|---|
page_viewed | page() call | Sends path, URL, and title |
product_viewed | Product Viewed | Product detail pages |
collection_viewed | Product List Viewed | Includes the collection's product variants |
search_submitted | Products Searched | Sends the search query |
cart_viewed | Cart Viewed | Only on the /cart page — see Mini-cart drawers |
product_added_to_cart | Product Added | |
product_removed_from_cart | Product Removed | |
Checkout events
These fire on Shopify-hosted checkout pages. The pixel sends them directly to Chord via cloud mode and forwards them by postMessage, so they are captured whether or not your storefront library is present on the page.
Shopify event | Chord event | Notes |
|---|---|---|
checkout_started | Checkout Started | Includes line items, coupon, discount, tax, and shipping |
checkout_contact_info_submitted | Checkout Step Completed (step 1) | Also sends an identify with the shopper's email and phone |
checkout_address_info_submitted | Checkout Step Completed (step 2) | |
checkout_shipping_info_submitted | Checkout Step Completed (step 3) | |
payment_info_submitted | Payment Info Entered (step 4) | |
checkout_completed | Order Completed | Also sends an identify with the Shopify customer ID |
Device-mode destinations cannot run on Shopify-hosted pages, so checkout events reach those destinations through cloud mode only. This is a Shopify platform restriction, not a Chord one.
Customer identification
The pixel sends an identify call in three situations:
- On load, when Shopify reports a logged-in customer. Traits come from Shopify's customer object: email, first and last name, phone, and order count.
- At checkout_contact_info_submitted, with the email and phone entered in checkout. No user ID is set here — an email is not a stable identifier.
- At checkout_completed, with the Shopify customer ID as the user ID.
Shopify's event bus has no sign-in event, so a shopper who logs in mid-session is not identified until the next page load. To identify them at the moment they sign in, add an identify() call to your storefront. See Identify Users on Sign-In.
What the pixel does not track
Three gaps come up on most themes.
Sign-in
Covered above — Shopify publishes no login event. Instrument it in the storefront.
Mini-cart drawers
Shopify fires cart_viewed only when a shopper navigates to /cart. A theme that opens the cart in a slide-out drawer never triggers it, so Cart Viewed will be missing. Call window.chord.trackCartViewed() when the drawer opens.
Merchandising interactions
No standard event covers clicks within a collection grid, quick-add buttons, wishlist actions, or variant switching on a product page. These are theme-specific and must be tracked from theme code. See Custom Events on Shopify.
Related
- Server Event Tracking — order and refund events delivered from Shopify webhooks
- Custom Events on Shopify — adding events Shopify does not publish
- SDK ReferenceSDK Reference — the typed tracking methods available on window.chord