How-to guideSourcesAvailable
Shopify and Google Tag Manager
Use Shopify storefront events with Google Tag Manager while keeping Vendo's server-side commerce data and event identity consistent.
Last reviewed July 13, 2026
Google Tag Manager (GTM) runs in the storefront browser. Use it for tags that must execute client-side; use Vendo’s Shopify source for durable server-side commerce records and downstream delivery.
Before you start
- Install GTM on the active Shopify theme or headless storefront.
- Connect Shopify to Vendo and enable the supported storefront tracking path.
- Decide which events GTM owns and which events Vendo owns to avoid double sending.
Recommended ownership
| Need | Recommended owner |
|---|---|
| Marketing or analytics tags that must run in the browser | GTM |
| Shopify orders, customers, products, refunds, and fulfillments | Vendo Shopify source |
| Server-side delivery to warehouses, analytics, or messaging tools | Vendo destinations |
| Consent gating for browser tags | Your consent platform and GTM consent mode |
Configure GTM
- Add the GTM container to the storefront using the Shopify-supported method for your theme or headless framework.
- Configure consent before marketing tags fire.
- Create triggers only for browser events GTM should own.
- Reuse the same order and event identifiers when a browser event has a server-side counterpart.
- Publish to a test environment before production.
Avoid duplicate events
Do not send the same event independently from GTM and Vendo without a shared deduplication key. For conversion platforms, keep the same event name, event ID, order ID, and event time across browser and server copies.
Verify
- Use GTM Preview mode to confirm the expected tags fire once.
- Complete a test storefront flow.
- Confirm Vendo receives the expected Shopify events.
- Check each downstream destination for duplicate browser/server copies.
- Validate consent behavior in accepted, rejected, and undecided states.
Troubleshooting
| Symptom | Check |
|---|---|
| Tag never fires | Container installation, published version, trigger, and consent state |
| Event fires twice | Theme scripts, GTM triggers, and Vendo destination ownership |
| Browser and server events do not deduplicate | Event ID, order ID, event name, and timestamp mapping |
| Headless storefront has no events | Use the headless Shopify guide |
Related
Last updated on