- 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 Skio event reaches OpenAI Ads. Captured on the server, resolved to a person, then sent.
01 Capture
Captured from Skio
Capture Skio subscription events server-side, with the first charge distinguished from every renewal that follows it.
See the Skio integration →
SkioWhat it sends subscription_idthe Skio subscription, stable across chargesemail / phonesubscriber contactcharge_typefirst charge, renewal, swap or skipline_itemsproducts on this chargetotal / intervalcharge amount and billing cadence
02 Understand
Resolved to one person before it leaves
Every Skio 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.- DeduplicationBrowser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
- Bot and fraud filteringAutomated traffic never reaches the model, because what you keep out of the training set matters as much as what goes in.
03 Activate
Delivered to OpenAI Ads
Forward identity-resolved conversions to OpenAI Ads, so a channel with no established attribution history starts with clean server-side measurement.
See the OpenAI Ads integration →
OpenAI AdsWhat it receives hashed email / phoneidentity matching on arrivalclick / session referencecredit the assistant interactionevent_iddedupe against any browser-side reportvalue / currencyvalue-based optimizationexternal_idstable person across sessions
The catch
A first charge is an acquisition and a renewal is not, but both arrive as purchases.
Sending renewals as conversions is the single most common way a subscription brand teaches Meta to re-buy its existing subscribers.
Where to check in OpenAI AdsDelivery you can audit
OpenAI Ads › Measurement › Conversions
Server-reported conversions list the parameters that arrived with them.
What changes
What changes when Skio feeds OpenAI Ads. Two gains on the OpenAI Ads side, two on the Skio side.
OpenAI Ads
Server-side delivery
Events reach OpenAI Ads through its server API rather than the browser, so ad blockers and ITP don’t cost you conversions.
OpenAI Ads
Identity-resolved events
Events sent to OpenAI Ads carry the resolved customer whenever Upstack can identify one, matched against a 750M+ device graph.
Skio
Every event, server-side
Storefront and checkout events are captured from Skio on the server, independent of the browser.
Skio
One setup, every destination
Connect Skio once and forward to every ad platform, email tool and warehouse you run.
Setup
Live in under 20 minutes.
Connect Skio once and every destination, OpenAI Ads included, is forwarded the same resolved events.
Upstack dashboardExample
Skio Data source Connected
OpenAI Ads Destination Healthy
Read the full OpenAI Ads setup guide → -
01
Connect Skio
Capture Skio subscription events server-side, with the first charge distinguished from every renewal that follows it.
-
02
Add the OpenAI Ads destination
Under Destinations, add OpenAI Ads. Every resolved Skio event is then forwarded to it.
-
03
Check delivery to OpenAI Ads
Every conversion is inspectable from the moment it fires to the moment the platform confirms it.
FAQ
Questions about Skio and OpenAI Ads.
How do I check that Skio events are reaching OpenAI Ads?
Open OpenAI Ads › Measurement › Conversions. Server-reported conversions list the parameters that arrived with them.
Will a purchase be counted twice?
No. Browser and server copies of the same purchase collapse on event ID, so nothing is counted twice.
How long does it take to connect Skio to OpenAI Ads?
Most brands are live in under 20 minutes. Once Skio is connected, every destination receives the same resolved events, OpenAI Ads included.