Understanding Shopify Data Sync with Brevo
Learn exactly what customer, order, and product data syncs from Shopify to Brevo, how often it updates, and where to find it.
What You’ll Learn
- ✅ What customer data syncs from Shopify to Brevo
- ✅ What order and purchase data is tracked
- ✅ What product information is available
- ✅ How often data syncs (spoiler: real-time!)
- ✅ Where to view synced data in Brevo
- ✅ How Tajo compares to Klaviyo, Mailchimp, and Omnisend
Overview: The Complete Data Flow
When you connect Tajo to Shopify, three types of data automatically sync to Brevo:
- Customer Data - Contact information, tags, consent status
- Order Data - Purchase history, products bought, order values
- Product Data - Catalog, images, descriptions, inventory levels
How fast? Tajo syncs data in real-time (< 1 minute), unlike competitors:
- ❌ Klaviyo: 24-hour initial sync
- ❌ Mailchimp: 24-hour initial sync, 2-3 hour promo code delays
- ❌ Omnisend: 24-hour initial sync
- ✅ Tajo: 15-30 minute initial sync, then < 1 minute real-time
Customer Data: What Syncs
Contact Information
| Shopify Field | Brevo Attribute | Notes |
|---|---|---|
| First Name | FIRSTNAME | Personalization in campaigns |
| Last Name | LASTNAME | Full name display |
EMAIL | Primary identifier (required) | |
| Phone | SMS | For SMS/WhatsApp marketing |
| Customer ID | SHOPIFY_CUSTOMER_ID | Unique Shopify identifier |
| Created Date | CUSTOMER_SINCE | When they first became a customer |
Address Information
| Shopify Field | Brevo Attribute | Purpose |
|---|---|---|
| Shipping Address | SHIPPING_ADDRESS | Order fulfillment |
| City | CITY | Geographic segmentation |
| State/Province | STATE | Regional targeting |
| Country | COUNTRY | International campaigns |
| Postal Code | ZIP_CODE | Local marketing |
Customer Attributes
| Shopify Field | Brevo Attribute | Use Cases |
|---|---|---|
| Customer Tags | TAGS | VIP, Wholesale, etc. segmentation |
| Order Count | ORDER_COUNT | Loyalty tiers |
| Total Spent | TOTAL_SPENT | High-value customer targeting |
| Average Order Value | AOV | Upsell/cross-sell strategies |
| Last Order Date | LAST_ORDER_DATE | Win-back campaigns |
Marketing Consent
| Shopify Field | Brevo Attribute | Compliance |
|---|---|---|
| Email Marketing | Email subscription status | GDPR, CAN-SPAM |
| SMS Marketing | SMS subscription status | TCPA (US), GDPR (EU) |
| WhatsApp (Tajo exclusive) | WhatsApp subscription status | GDPR, international |
Important: Tajo automatically respects unsubscribes in both directions. If a customer unsubscribes in Brevo, they’re marked as unsubscribed in Shopify, and vice versa.
Order Data: Purchase History
Order Events Tracked
Tajo tracks 15 customer events vs. Klaviyo’s 8 events:
| Event | When It Fires | Use In Automations |
|---|---|---|
| Product Viewed | Customer views any product page | Browse abandonment |
| Collection Viewed | Customer browses a collection | Category interest tracking |
| Cart Created | First item added to cart | Early cart abandonment detection |
| Cart Updated | Cart quantity/items change | Dynamic cart value tracking |
| Checkout Started | Customer begins checkout | Standard cart abandonment |
| Payment Info Added | Customer enters payment details | High-intent abandonment |
| Order Placed | Checkout completed | Thank you flows |
| Order Paid | Payment confirmed | Order confirmation |
| Order Fulfilled | Items shipped | Shipping notifications |
| Order Delivered | Package delivered | Review request trigger |
| Order Cancelled | Order cancelled | Refund/apology campaigns |
| Order Refunded | Money returned | Win-back campaigns |
| Subscription Created | New subscription (Recharge) | Subscription onboarding |
| Subscription Cancelled | Subscription ends | Retention campaigns |
| Loyalty Points Earned | Tajo rewards program | Gamification |
Order Properties
For each order, Tajo syncs:
{ "order_id": "12345", "order_number": "#1001", "total": 149.99, "currency": "USD", "items": [ { "product_id": "7890", "name": "Blue T-Shirt", "sku": "BLU-TSHIRT-M", "quantity": 2, "price": 29.99, "variant": "Medium", "image_url": "https://..." } ], "discount_codes": ["SAVE20"], "shipping_cost": 5.99, "tax": 12.00, "status": "fulfilled", "fulfillment_status": "shipped", "payment_method": "credit_card", "checkout_url": "https://store.myshopify.com/cart/..."}Use cases:
- Product recommendations: “Customers who bought X also bought Y”
- Discount tracking: See which codes drive revenue
- Cart rebuild links: One-click return to abandoned cart
- Segmentation: Target by purchase behavior
Product Data: Catalog Sync
Product Information
| Shopify Field | Brevo Product Data | Purpose |
|---|---|---|
| Product ID | Unique identifier | Recommendations |
| Title | Product name | Email personalization |
| Description | Full description | SEO, content |
| Price | Current price | Dynamic pricing display |
| Compare Price | Original price (if on sale) | Show savings |
| Images | Product photos | Email visuals |
| Variants | Sizes, colors, etc. | Specific product targeting |
| SKU | Stock keeping unit | Inventory management |
| Inventory | Stock levels | Back-in-stock alerts |
| Collections | Categories | Collection-based campaigns |
| Tags | Product tags | Advanced filtering |
| Vendor | Brand/supplier | Brand-specific campaigns |
Inventory Tracking
Tajo monitors inventory levels for back-in-stock automations:
- When inventory = 0 → Mark product as “out of stock”
- When inventory > 0 (was 0) → Trigger “back in stock” notification to subscribers
- Real-time updates (< 1 minute delay)
Tajo Advantage: Klaviyo and Mailchimp don’t track real-time inventory. Omnisend does, but with delays.
Sync Frequency: Real-Time vs. Batch
Real-Time Sync (< 1 Minute)
These data points update instantly via webhooks:
✅ New customer created ✅ Order placed ✅ Cart abandoned ✅ Product viewed ✅ Order status changed ✅ Inventory updated ✅ Customer tag added/removed ✅ Subscription event (Recharge)
Batch Sync (Every Hour)
These data points update in hourly batches for performance:
⏰ Customer lifetime value recalculations ⏰ Aggregate statistics (total customers, revenue, etc.) ⏰ Product collection memberships
Initial Historical Sync
When you first connect Tajo:
| Store Size | Estimated Time |
|---|---|
| < 1,000 customers | 5-10 minutes |
| 1,000-10,000 customers | 15-30 minutes |
| 10,000-50,000 customers | 30-60 minutes |
| 50,000+ customers | 1-2 hours |
During historical sync: Real-time updates continue for new data. You can start using Tajo immediately.
Where to View Synced Data
In Brevo: Customer Profiles
- Log in to Brevo
- Navigate to Contacts > Lists
- Open your “Shopify Customers” list
- Click any contact to view:
- Contact Info tab: Name, email, phone, address
- Attributes tab: All Shopify custom fields
- Activity tab: Order history and events
- Campaigns tab: Email/SMS engagement
In Brevo: Segments
Create segments based on Shopify data:
Example: High-Value VIP Customers
TOTAL_SPENT > 1000AND ORDER_COUNT >= 5AND LAST_ORDER_DATE > (now - 90 days)Example: At-Risk Customers
ORDER_COUNT >= 2AND LAST_ORDER_DATE < (now - 180 days)In Brevo: Events for Automations
View events that trigger automations:
- Contacts > Events
- Filter by event type:
shopify_checkout_startedshopify_order_placedshopify_product_viewed- etc.
In Tajo Dashboard
Monitor sync health in real-time:
- Log in to app.tajo.io
- Dashboard > Integrations > Shopify
- View sync statistics:
- Total customers synced
- Total orders synced
- Total products synced
- Last sync timestamp
- Sync errors (if any)
Data Mapping: Shopify → Brevo
Standard Field Mapping
Tajo automatically maps standard Shopify fields to Brevo:
Shopify Customer.email → Brevo Contact.EMAILShopify Customer.first_name → Brevo Contact.FIRSTNAMEShopify Customer.last_name → Brevo Contact.LASTNAMEShopify Customer.phone → Brevo Contact.SMSShopify Customer.tags → Brevo Contact.TAGSShopify Customer.orders_count → Brevo Contact.ORDER_COUNTShopify Customer.total_spent → Brevo Contact.TOTAL_SPENTCustom Field Mapping
Advanced users: Map Shopify metafields to Brevo custom attributes:
- In Tajo, go to Settings > Field Mapping
- Click Add Custom Mapping
- Select Shopify metafield (e.g.,
customer.loyalty_tier) - Select/create Brevo attribute (e.g.,
LOYALTY_TIER) - Click Save Mapping
Now customer.loyalty_tier (Bronze, Silver, Gold) syncs to Brevo automatically!
Troubleshooting Data Sync
Data Not Showing in Brevo?
Check #1: Verify sync status in Tajo
- Go to Tajo Dashboard > Shopify Integration
- Check “Last Sync”: Should be ”< 1 minute ago”
- Check “Sync Errors”: Should be empty
Check #2: Verify Brevo API connection
- Go to Tajo > Settings > Integrations
- Check Brevo status: Should show ✅ Connected
- If ❌ Disconnected: Click “Reconnect” and re-authorize
Check #3: Check Brevo list selection
- Go to Tajo > Shopify Settings
- Verify correct Brevo list is selected
- Customers should appear in that list
Duplicate Customers in Brevo?
Cause: Multiple Shopify customers with same email but different customer IDs
Solution:
- Brevo automatically merges contacts by email
- If duplicates persist, use Brevo > Contacts > Manage Duplicates
- In Tajo, enable “Strict Duplicate Prevention” in Settings
Order Data Missing?
Check: Order status in Shopify
- Tajo only syncs paid orders by default
- Unpaid/draft orders are excluded to prevent spam
- To include drafts: Tajo > Settings > Sync unpaid orders
Product Images Not Showing?
Check: Image URLs in Shopify
- Ensure products have images uploaded in Shopify
- Tajo syncs first product image by default
- For multiple images: Enable “Sync all product images” in Tajo
Comparison: Tajo vs. Competitors
| Feature | Tajo | Klaviyo | Mailchimp | Omnisend |
|---|---|---|---|---|
| Initial Sync Speed | 15-30 min | 24 hours | 24 hours | 24 hours |
| Real-Time Updates | < 1 min | 3-5 min | 2-3 hours (promos) | 2 min (tags) |
| Customer Events Tracked | 15+ | 8 | 8 | 8 |
| WhatsApp Integration | ✅ Yes | ❌ No | ❌ No | ❌ No |
| Inventory Tracking | ✅ Real-time | ✅ Yes | ❌ No | ✅ Yes (delayed) |
| Bidirectional Sync | ✅ Yes | ✅ Yes | Partial | Partial |
| Historical Order Import | All time | 90 days | 180 days | All time |
| Subscription Data (Recharge) | ✅ Full support | ✅ Yes | ❌ No | Partial |
| Custom Field Mapping | ✅ Visual UI | API only | API only | Limited |
Best Practices
1. Tag Strategy
Create consistent tags in Shopify for better segmentation:
- VIP - High-value customers
- Wholesale - B2B buyers
- FirstTime - New customers
- Repeat - Returning customers
- AtRisk - Haven’t purchased in 180+ days
Tajo automatically syncs these tags to Brevo for segmentation.
2. Monitor Sync Health
Check Tajo dashboard weekly:
- Verify sync errors = 0
- Check customer count matches Shopify
- Review recent events for accuracy
3. Use Events for Triggers
Don’t rely solely on time-based automations. Use events:
- ❌ Bad: “Send email 1 hour after signup”
- ✅ Good: “Send email when
checkout_startedevent fires”
Event-based triggers are more reliable and timely.
4. Keep Data Clean
- Remove test customers from Shopify before syncing
- Use consistent naming for product collections
- Standardize customer tags across team
- Archive old/inactive customer data annually
FAQs
Does syncing slow down my Shopify store?
No. Tajo uses Shopify’s official API and webhooks. All syncing happens in the background with zero impact on your store’s page speed.
Can I control what data syncs?
Yes. In Tajo > Settings > Data Sync, you can toggle on/off:
- Customer contact info
- Customer addresses
- Customer tags
- Order history
- Product catalog
- Inventory levels
- Subscription data
What happens if I disconnect Tajo?
- Syncing stops immediately
- Existing data in Brevo remains intact
- You can reconnect anytime to resume syncing
Does Tajo sync Shopify POS data?
Yes! Both online and POS transactions sync. You can segment customers by channel:
CHANNEL = "online"CHANNEL = "pos"
How many historical orders are synced?
All of them. Unlike Klaviyo (90 days) or Mailchimp (180 days), Tajo syncs your complete order history on first connection.
Can I sync data back from Brevo to Shopify?
Yes! Bidirectional sync includes:
- Email/SMS unsubscribes → Shopify customer marketing consent
- Brevo contact tags → Shopify customer tags
- Campaign engagement scores → Shopify metafields
Enable in Tajo > Settings > Sync to Shopify.
Next Steps
Now that you understand how data syncs, take these actions:
✅ Verify your data - Check Brevo to ensure all fields are populating correctly
✅ Create segments - Use Shopify data to build targeted customer segments
✅ Set up automations - Build event-triggered flows (abandoned cart, welcome series, etc.)
✅ Map custom fields - If you use Shopify metafields, map them to Brevo attributes
Related Articles
- Connect Tajo to Shopify - Complete Setup Guide
- Build an Abandoned Cart Recovery Flow
- Advanced Customer Segmentation Strategies
- Troubleshooting Data Sync Issues
Get Help
Questions about data sync?
- 💬 Live Chat: Available in Tajo dashboard
- 📧 Email: [email protected]
- 📚 Documentation: docs.tajo.io
Last updated: January 22, 2025