- 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 Custom stack event reaches Yotpo. Captured on the server, resolved to a person, then sent.
01 Capture
Captured from Custom stack
Not on the list? Send events to Upstack from any stack over webhook or direct post, with the same schema and the same resolution.
See the Custom stack integration →
Custom stackWhat it sends event_namewhatever you choose to call ituser identifiersany of email, phone, external IDvalue / currencyif the event carries revenuecustom propertiesany attribute in your own schema
02 Understand
Resolved to one person before it leaves
Every Custom stack 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 purchase, one request, even when the order is amended.
- Bot and fraud filteringFraudulent orders never enter the request queue.
03 Activate
Delivered to Yotpo
Enrich post-purchase touchpoints in Yotpo with identity-resolved order data.
See the Yotpo integration →
YotpoWhat it receives emailwho to ask for the revieworder_idwhich purchase the request is aboutproduct IDswhich product is being reviewed
The catch
Post-purchase tools expect an order shape.
A custom event has to be mapped to one, or the request has nothing to reference.
Where to check in YotpoDelivery you can audit
Yotpo › Reviews › the request queue
which should now contain the orders that previously had no email attached.
What changes
What changes when Custom stack feeds Yotpo. Two gains on the Yotpo side, two on the Custom stack side.
Yotpo
Server-side delivery
Events reach Yotpo through its server API rather than the browser, so ad blockers and ITP don’t cost you conversions.
Yotpo
Identity-resolved events
Events sent to Yotpo carry the resolved customer whenever Upstack can identify one, matched against a 750M+ device graph.
Custom stack
Any stack, any framework
Headless, custom checkout, native app or a platform we haven’t listed: if it can make an HTTP request, it can send to Upstack.
Custom stack
The same event schema
Custom events are resolved, filtered and forwarded exactly like a Shopify order.
Setup
Post directly from your backend so nothing depends on the browser.
Connect Custom stack once and every destination, Yotpo included, is forwarded the same resolved events.
Upstack dashboardExample
Custom stack Data source Connected
Yotpo Destination Healthy
Read the full Yotpo setup guide → -
01
Connect Custom stack
Not on the list? Send events to Upstack from any stack over webhook or direct post, with the same schema and the same resolution.
-
02
Add the Yotpo destination
Under Destinations, add Yotpo. Every resolved Custom stack event is then forwarded to it.
-
03
Check delivery to Yotpo
Trace any request back to the order and customer it came from.
FAQ
Questions about Custom stack and Yotpo.
How do I check that Custom stack events are reaching Yotpo?
Open Yotpo › Reviews › the request queue, which should now contain the orders that previously had no email attached.
Will a customer be asked twice about one order?
No. One purchase, one request, even when the order is amended.