- US device IDs in the graph
- 750M+
- Match rate on events
- 90%+
- Identity window, per customer
- Lifetime
- Most brands are live
- <20 min
How it flows
How a BigCommerce event reaches Klaviyo. Captured on the server, resolved to a person, then sent.
01 Capture
Captured from BigCommerce
Server-side capture of BigCommerce storefront and checkout events, resolved and forwarded downstream.
See the BigCommerce integration →
BigCommerceWhat it sends order_idBigCommerce orderemail / phonecheckout contactcustomer_idBigCommerce customer recordproductscatalog items on the ordertotal_inc_taxorder value
02 Understand
Resolved to one person before it leaves
Every BigCommerce event is matched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer rather than two strangers.
How resolution works →
Resolved before it is sent - IdentityMatched against a 750M+ device graph, so a phone browse and a desktop checkout resolve to one customer.
customer_typeNew or returning, resolved before send.- DeduplicationOne order produces one event, so a single purchase cannot trigger the same flow twice.
- Bot and fraud filteringAutomated traffic never becomes a profile, so list quality and deliverability are not paying for it.
03 Activate
Delivered to Klaviyo
Attach re-identified emails to events before they reach Klaviyo, so browse and cart flows fire for people the pixel lost.
See the Klaviyo integration →
KlaviyoWhat it receives email / phonethe profile key: no profile, no sendexternal_idtie a browse to a known person$valueflow and campaign revenue attributionevent propertieswhat the flow branches on
Which events reach Klaviyo
Each Upstack event is mapped to the Klaviyo event below before it is sent.
| Upstack event | Sent to Klaviyo as | Key data on the event |
| Product view | Viewed Product | ProductName, ProductID, Price, ImageURL |
| Add to cart | Added to Cart | ProductName, ProductID, Price, Quantity, CartValue |
| Checkout | Started Checkout | CartValue, ItemCount, CheckoutURL |
| Purchase | Placed Order | OrderID, Revenue, Items, DiscountCodes |
Upstack’s identity resolution attaches the visitor’s email before an event is forwarded, and syncs profile properties ($first_name, $last_name, $city, $region) plus custom identity properties to Klaviyo.
BigCommerce to Klaviyo, in detail
How the Klaviyo BigCommerce integration and Upstack fit together.
Klaviyo identifies a BigCommerce shopper when they fill in a Klaviyo form, click a Klaviyo email or SMS, or check out through a supported integration, and only in that browser. Upstack resolves BigCommerce storefront and checkout events to a person across devices and sessions, then sends them to Klaviyo with the shopper’s email attached, so flows Klaviyo can’t trigger on its own fire too.
| BigCommerce event | Klaviyo metric |
| Product view ProductName, ProductID, Price, ImageURL. Triggers browse abandonment. | Viewed Product - Upstackified |
| Add to cart ProductName, ProductID, Price, Quantity, CartValue. Triggers abandoned cart. | Added to Cart - Upstackified |
| Checkout started CartValue, ItemCount, CheckoutURL. Triggers checkout abandonment. | Checkout Started - Upstackified |
| A return visit Triggers site abandonment. | Active on Site - Upstackified |
| Order (order_id, products, total_inc_tax) OrderID, Revenue, Items, DiscountCodes. Powers post-purchase and win-back flows. | Placed Order - Upstackified |
Server-side events carry the “ - Upstackified” suffix by default. Turn on Use Standard Event Names on the destination to drop it. Upstack also syncs $first_name, $last_name, $city and $region, plus custom identity properties you can segment on.
Added to Cart on BigCommerce
Klaviyo’s own Added to Cart metric isn’t automatic on BigCommerce: you set it up manually. Whichever you use, keep one source of Added to Cart per flow, so the same shopper doesn’t enter it twice.
BigCommerce’s own abandoned cart emails
BigCommerce can send its own abandoned cart emails. Turn them off once Klaviyo’s flows run, so shoppers don’t get two sets.
The hosted checkout
BigCommerce’s hosted checkout limits what a browser script can see at the moment of purchase. Upstack reads the order server-side, so the order doesn’t depend on a script running in checkout.
Several storefronts
Multi-storefront accounts resolve against one graph rather than per store, so a shopper who buys from two of your stores is one customer downstream.
Identity
Profiles, flows and anonymous visitors.
Klaviyo flows are metric-triggered: a profile enters the flow when the event lands on it. An add to cart from a browser Klaviyo can’t tie to a person has no profile, so the flow doesn’t fire.
How a visitor is matched
Upstack’s identity resolution runs on its servers, independent of the browser. It matches the visit against its identity graph using the IP address, user agent, device and hashed identifiers from earlier sessions, so it survives a new device, an expired cookie or an in-app browser. Then it sends the event to that person’s Klaviyo profile with their email attached.
The waterfall of flows
The Upstack team clones your browse, cart, checkout and site abandonment flows as “ - Upstack Data” copies triggered by the Upstackified metrics. Each copy waits 30 minutes longer than the original, and a 7-day exclusion filter in both directions means nobody gets both. Setup usually takes 48 to 72 hours, and your original flows stay as they are.
Visitors who never gave you an email
First-party matching only finds customers you already know. A shopper who has never given you an email stays anonymous in Klaviyo, and no flow can reach them. Reaching them takes third-party identification such as Upstack Audience, which adds them as new profiles on a list called UpstackData.
The catch
Storefront browse events and the hosted checkout are effectively two contexts.
Without resolution the same shopper appears in each as a different person.
Where to check in KlaviyoSending you can audit
Klaviyo › Analytics › Metrics
The event appears as its own metric, and the profile count on it is the number you were losing before.
What changes
What changes when BigCommerce feeds Klaviyo. Two gains on the Klaviyo side, two on the BigCommerce side.
Klaviyo
Recover carts you couldn’t email
Anonymous browsers are resolved to a known profile, so abandonment flows can trigger for visitors Klaviyo never identified.
Klaviyo
Profiles, not sessions
Events arrive attached to a resolved customer, so flow logic and segmentation work on a person.
BigCommerce
Every event, server-side
Storefront and checkout events are captured from BigCommerce on the server, independent of the browser.
BigCommerce
One setup, every destination
Connect BigCommerce once and forward to every ad platform, email tool and warehouse you run.
Setup
Live in under 20 minutes.
You need admin access to a Klaviyo account, with permission to create a Private API key with Full Access.
Upstack dashboardExample
BigCommerce Data source Connected
Klaviyo Destination Healthy
Read the full Klaviyo setup guide → -
01
Connect BigCommerce
Server-side capture of BigCommerce storefront and checkout events, resolved and forwarded downstream.
-
02
Create a Klaviyo private API key
In Klaviyo, open Settings, Account, API Keys and create a Private API key named UpstackData with Full Access. It starts with pk_ and is shown only once.
-
03
Add the Klaviyo destination
Under Destinations, click New Destination, choose Klaviyo, paste the key with no extra spaces and click Create Configuration.
-
04
Turn off BigCommerce’s abandoned cart emails
So shoppers who enter a Klaviyo flow don’t also get BigCommerce’s own reminder.
-
05
Ask Upstack to set up the abandonment flows
Email support@upstackdata.com. The team clones your abandonment flows, adds the 30-minute delay and the 7-day exclusion filters, and turns on UTM tracking on every email and SMS so flow revenue shows up in Upstack.
-
06
Check the metrics in Klaviyo
Analytics, Metrics shows Viewed Product, Added to Cart, Checkout Started and Active on Site with the Upstackified suffix within a few minutes of live traffic.
After setup
What to check in Klaviyo.
Upstack shows the Klaviyo destination as Healthy.
Analytics, Metrics lists the Upstackified metrics within a few minutes of live traffic.
A profile’s Activity Feed shows Upstack events after a test visit.
Each “ - Upstack Data” flow is Live, its step statuses match the original, and its Analytics tab shows profiles entering within 24 to 48 hours.
A spot-checked recipient didn’t also get the standard flow’s email within the same 7 days.
Troubleshooting
Common problems and fixes.
-
Upstack events don’t appear in Klaviyo
Check the destination is Healthy and the key isn’t read-only, then search Metrics for “Upstackified”: the events may be arriving under that name. If the destination is red, reconnect with a fresh key.
-
Shoppers get two abandonment emails
Add the exclusion filter to both flows (Has received email 0 times in last 7 days where Flow is the other flow), with the flow names exactly as they appear, and disable flows from previous tools.
-
Low volume on the Upstack flows
Expected in the first few days. If it stays low after two weeks, check no other tool, such as Triple Whale, is running conflicting flows.
-
A flow doesn’t send
Both the standard and the Upstack flow must be Live, with each email step set to the same status as the original.
FAQ
Questions about BigCommerce and Klaviyo.
How do I connect Klaviyo to BigCommerce with Upstack?
Connect BigCommerce to Upstack, create a Full Access private API key named UpstackData in Klaviyo and add it as the Klaviyo destination, then ask Upstack’s team to set up the abandonment flows. Most brands are live in under 20 minutes; the flows usually take 48 to 72 hours.
Which events does Klaviyo receive?
ViewContent as Viewed Product, AddToCart as Added to Cart, InitiateCheckout as Started Checkout and Purchase as Placed Order.
Which customer parameters are sent to Klaviyo?
Upstack’s identity resolution attaches the visitor’s email before an event is forwarded, and syncs profile properties ($first_name, $last_name, $city, $region) plus custom identity properties to Klaviyo.
How do I check that BigCommerce events are reaching Klaviyo?
Upstack marks the destination Healthy, and Analytics, Metrics in Klaviyo shows Upstack events such as Added to Cart - Upstackified within a few minutes of live traffic. Then contact Upstack support to set up your Upstack abandonment flows.
How long does it take to connect BigCommerce to Klaviyo?
Most brands are live in under 20 minutes. Once BigCommerce is connected, every destination receives the same resolved events, Klaviyo included.
Do I keep Klaviyo’s own BigCommerce integration?
Yes. Your standard Klaviyo flows run on Klaviyo’s own tracking and keep catching the shoppers it identifies. The Upstack copies serve a different pool of visitors, the ones Klaviyo misses, so the two run side by side.
Why doesn’t my Klaviyo abandoned cart flow fire for BigCommerce shoppers?
Either Added to Cart isn’t set up (on BigCommerce it’s a manual step in Klaviyo) or the shopper isn’t identified. A flow only fires when the event lands on a profile, and Klaviyo only recognizes a shopper in the browser where they signed up, clicked an email or checked out.
Can Klaviyo email anonymous BigCommerce visitors?
No. A flow needs a profile with a way to contact the shopper. Upstack matches returning visitors to the profiles you already have; a visitor who has never given you an email stays anonymous until they do.
Do I have to replace my Klaviyo flows?
No. Your standard flows keep catching the visitors Klaviyo identifies itself. The Upstack copies catch the ones it misses, 30 minutes later, and a 7-day exclusion filter on both stops anyone getting both.
Which Klaviyo flows does Upstack add?
Copies of your browse, cart, checkout and site abandonment flows, triggered by Viewed Product, Added to Cart, Checkout Started and Active on Site with the Upstackified suffix. They use the same emails and steps as your originals.
Keep reading
More on BigCommerce and Klaviyo.