Where the default connector stops
| Store pattern | What the default connector usually misses |
|---|---|
| Subscription / recurring orders | Renewal orders not distinguished from first orders in revenue and flow logic |
| Multi-currency storefronts | Revenue properties recorded in the wrong currency or without a normalized value, breaking attribution totals |
| Custom cart/checkout apps | Started Checkout and line-item events not firing, or firing with stale cart contents |
| Wholesale / B2B ordering | Orders placed through a separate channel not routed into Klaviyo at all |
| Partial refunds and exchanges | Revenue not adjusted downward, inflating lifetime-value and revenue-attribution numbers |
| Custom product bundles | Bundle parent/child SKUs recorded inconsistently, breaking product-based segmentation and flows |
What we build
- A full event map of every checkout, fulfillment, and refund path your store actually supports
- Server-side event corrections where the native integration under- or over-counts revenue
- Custom properties for subscription status, currency, and bundle composition so flows and segments can filter on them
- Reconciliation checks between Klaviyo's revenue reporting and your store's own order data
Why this matters beyond Klaviyo
The same order and checkout events that feed Klaviyo typically also feed your GA4/analytics stack. Fixing the event architecture once, correctly, keeps both in sync - see store.webclat.com for the GA4 and Shopify data-layer side of the same integration, and our own revenue tracking deep-dive for how the two numbers should reconcile.