Integration Features
Overview of the three Vendo tracking methods: Web Pixel, Theme Extension and Server-side Integration.
Last reviewed September 15, 2026
Vendo combines three tracking methods to capture a complete picture of your customers’ journey, from the first page view to order delivery.
Client-Side Tracking (Web Pixel)
Vendo monitors user-generated events on your storefront in real time with the Shopify Web Pixel API. The Vendo Web Pixel is a Shopify app pixel that:
- Captures the client-side events enabled in the Shopify app, including supported standard and custom events
- Enriches each event with device info, UTM parameters, click IDs and user identity
- Routes events to your enabled destinations (Mixpanel, Segment, BigQuery, OneSignal, Customer.io, GTM)
Vendo provisions the Web Pixel as part of the Shopify destination workflow. Confirm that the pixel is connected and enabled. Do not assume that a saved destination guarantees storefront delivery.
Automatic Enrichment
Vendo automatically adds this data to each client-side event:
- Device info: Browser, OS, screen size, language
- Page context: URL, title, referrer
- UTM parameters: Source, medium, campaign, content, term
- Click IDs: gclid, fbclid, msclkid, ttclid, and others
- Identity: Device ID, Customer ID (when known)
For the complete list of client-side events and their properties, see Events & Data Model.
For custom event tracking, see Sending Custom Events.
Theme Extension
The Vendo theme extension is a single app embed block that loads destination SDKs on your storefront. It enables features that require JavaScript on the page:
| Destination | Features Enabled |
|---|---|
| Mixpanel | Session replay, heatmaps, autotrack (click, scroll, form tracking) |
| OneSignal | Push notification prompts, in-app messaging, tag sync |
| Customer.io | Anonymous in-app messaging, customer identification |
| Google Tag Manager | Data layer initialization, event flushing to GTM container |
Enabling the Theme Extension
- Go to Online Store > Themes > Customize.
- In the left sidebar, click App embeds.
- Turn Vendo on.
- Save your theme.
The theme extension reads its configuration from a shop metafield (vendo.config). Vendo manages this metafield automatically each time you save destination settings.
Server-Side Integration
The Vendo server-side integration imports order lifecycle data from the Shopify backend APIs. Then it exports the data to your connected destinations. It covers events that Vendo cannot capture in the browser: fulfillment, delivery, refunds and historical orders.
How It Works
Shopify GraphQL API
→ Vendo Pipeline (import + normalize)
→ BigQuery (staging dataset)
→ Destination plugins (Mixpanel, Segment, OneSignal, Customer.io, BigQuery)- Shopify GraphQL API: Vendo reads orders, customers, fulfillments and refunds from the Shopify Admin API
- BigQuery staging: Vendo normalizes the data and stores it in a per-shop BigQuery dataset that Vendo manages
- Destination export: Vendo sends the transformed events and customer profiles to each enabled destination
For the complete list of server-side events and their properties, see Events & Data Model.
Sync Behavior
You select the initial historical window during setup. After that import, scheduled incremental jobs process new or updated server-side records with the lookback configured for the integration. For the actual cadence, use the destination status and job history. Do not rely on a fixed interval in this guide.
Historical Backfill
When you first connect the server-side integration, Vendo can import a historical window. This is the window that you selected during setup, up to the maximum shown in the app. This backfill applies to:
- Orders, fulfillments, refunds, and deliveries
- Customer profiles with lifetime metrics
- Supported abandoned-checkout records that Shopify makes available for the selected workflow
Note: Vendo captures client-side events (browsing, cart, checkout) in real time. You cannot backfill them.
See Historical Backfill for configuration options and timing estimates.
Destination Export
| Destination | Export Method | Data Sent |
|---|---|---|
| Mixpanel | Import API | Events + user profiles |
| Segment | HTTP API | Track + identify calls |
| OneSignal | OneSignal API | Tags + events |
| Customer.io | CDP API | Events + identify calls |
| BigQuery | Load jobs | Raw events + customer properties |
Pausing & Resuming
You can pause and resume each destination. On the Shop data sync page, the Pause action in the page menu pauses the Mixpanel destination.
- Pause: Vendo stops sending server-side exports to the destination. The web pixel also stops sending browser events to it. Vendo continues to import your Shopify data into BigQuery.
- Resume: Vendo starts a catch-up export, then continues incremental exports.
Identity Resolution
Vendo links anonymous browsing sessions to known customers with these identifiers:
| State | Identifier | Source |
|---|---|---|
| Anonymous | Device ID | _shopify_y cookie |
| Known | Customer ID | Login or checkout completion |
You can change the identity key in the Customer Identification settings of the app. For example, you can use email instead of Shopify Customer ID.
For headless Shopify stores, see Headless Shopify Tracking for identity bridging between your custom frontend and Shopify checkout.