- 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 Attentive. 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 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 Attentive
Feed resolved customer profiles into Attentive so SMS journeys trigger on people, not sessions.
See the Attentive integration →
AttentiveWhat it receives phonethe subscriber keyemailsecondary identifier for cross-channelevent propertieswhat the journey triggers on
The catch
Custom schemas tend to carry identifiers in whatever field made sense at the time.
The profile key has to be normalized before it reaches a messaging tool or nothing matches.
Where to check in AttentiveSending you can audit
Attentive › the subscriber's timeline
where the event appears against the profile rather than as an unattached activity.
What changes
What changes when Custom stack feeds Attentive. Two gains on the Attentive side, two on the Custom stack side.
Attentive
Server-side delivery
Events reach Attentive through its server API rather than the browser, so ad blockers and ITP don’t cost you conversions.
Attentive
Identity-resolved events
Events sent to Attentive 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, Attentive included, is forwarded the same resolved events.
Upstack dashboardExample
Custom stack Data source Connected
Attentive Destination Healthy
Read the full Attentive 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 Attentive destination
Under Destinations, add Attentive. Every resolved Custom stack event is then forwarded to it.
-
03
Check delivery to Attentive
Trace any event to the profile it resolved to, and see why.
FAQ
Questions about Custom stack and Attentive.
How do I check that Custom stack events are reaching Attentive?
Open Attentive › the subscriber's timeline, where the event appears against the profile rather than as an unattached activity.
Can one purchase trigger the same flow twice?
No. One order produces one event, so a single purchase cannot trigger the same flow twice.