Customer.io Integration
Vendo’s Customer.io integration streams Shopify events and customer profiles to Customer.io (CDP), enabling segmentation, journeys, and downstream messaging based on real-time commerce activity.
Overview
The Customer.io integration provides:
- Real-time event tracking from the storefront (client-side)
- Server-side order and profile updates from Shopify
- Consistent customer identity across browser and backend events
- Per-destination event controls in Vendo
Setup Instructions
Prerequisites
- A Customer.io account with Data Pipelines enabled
- A Customer.io Source with a Write Key
- Admin access to your Shopify store
- The Vendo app installed on your Shopify store
Step 1: Create a Customer.io Source
- Log in to your Customer.io workspace
- Create or select a Source in Data Pipelines
- Copy the Write Key
Step 2: Configure in Vendo
- Open the Vendo app in your Shopify admin
- Navigate to Integrations > Customer.io
- Enter your Write Key
- Save the configuration
Step 3: Select Events
You can enable/disable events in the Events tab for Customer.io.
Step 4: Enable Anonymous In-App Messaging
Anonymous in-app messaging is configured through the theme extension:
- In Shopify admin, go to Online Store > Themes
- Click Customize for your live theme
- Open App embeds
- Toggle on Customer.io In-App Messaging
- Paste your Write Key and save
Events Tracked
Client-Side Events
Captured in the browser and sent in real time:
| Vendo Event | Description |
|---|---|
| Page Viewed | Any page view |
| Product Viewed | Product detail page |
| Collection Viewed | Collection/category page |
| Search Submitted | Search performed |
| Product Added To Cart | Item added to cart |
| Product Removed From Cart | Item removed from cart |
| Cart Viewed | Cart page view |
| Checkout Started | Begin checkout |
| Checkout Contact Info Submitted | Contact info step |
| Checkout Address Info Submitted | Address step |
| Checkout Shipping Info Submitted | Shipping step |
| Payment Info Submitted | Payment step |
| Checkout Completed | Purchase confirmed |
| Custom Events | Shopify Customer Events (if enabled) |
Server-Side Events
Synced from Shopify backend:
| Event Name | Description |
|---|---|
| Order Received | New order created |
| Order Fulfilled | Order shipped |
| Order Delivered | Order delivered |
| Order Refunded | Full refund |
| Order Partially Refunded | Partial refund |
| Cart Abandoned | Checkout not completed |
| User Profile Update | Identify/profile sync |
| Products Purchased | Per-line-item tracking (disabled by default) |
User Traits (Properties)
Vendo sends standard ecommerce and user properties including:
- Order totals, currency, and line items
- Product data (name, SKU, variant, category)
- UTM parameters and click IDs (gclid, fbclid, etc.)
- Customer profile fields (email, name, phone)
User Identification
Vendo identifies users using:
shopify_customer_idorcustomer_idwhen available- Browser
distinct_idfor anonymous sessions - Automatic identify calls for profile updates
Example Payloads
Track Event
{
"type": "track",
"event": "product_viewed",
"userId": "123456",
"anonymousId": "anon_abc123",
"properties": {
"product_id": "gid://shopify/Product/1",
"title": "Sample Product",
"price": 10.0,
"currency": "USD"
},
"timestamp": "2026-01-17T12:34:56.000Z"
}Identify (Profile Update)
{
"type": "identify",
"userId": "123456",
"traits": {
"email": "customer@example.com",
"firstName": "Jane",
"lastName": "Doe"
},
"timestamp": "2026-01-17T12:34:56.000Z"
}What to Expect in Customer.io
- Events appear under your Source in Data Pipelines
- Identify calls update profiles in the People workspace
- You can build segments and journeys from both browser and server events
Anonymous In-App Messages
Vendo supports Customer.io anonymous in-app messaging by loading the in-app snippet through the theme extension. You still configure the actual messages in the Customer.io UI. For more details on anonymous in-app messaging behavior and limitations, see Customer.io’s guide:
https://docs.customer.io/journeys/anonymous-in-app/
Troubleshooting
No events in Customer.io
- Confirm the Write Key is correct
- Ensure the Customer.io integration is enabled in Vendo
- Check whether events are enabled in the Events tab
Only server-side events are showing
- Ensure the web pixel is installed and enabled
- Confirm storefront traffic is reaching the pixel
Profiles not updating
- Verify that Shopify customer emails/IDs are present
- Ensure User Profile Update is enabled in Events