Getting started

SetRoasFlow collects every customer event on your own server-side infrastructure, turns it into a first-party customer profile, and routes it to wherever you need it: your ad platforms, your CRM, your data warehouse.

The point isn't to add another pixel. It's that the data reaching your ad platforms today is incomplete — ad-blockers, Safari's tracking prevention and iOS quietly drop a large share of your conversions before they ever leave the browser. The algorithms then optimise on what's left, so you pay more for the same result. Collecting server-side puts those conversions back.


The four steps

1. Create a website

WebsitesAdd website. You get a Project ID (your token) — the identifier that ties every event back to your account.

2. Install the tracking

One of three ways, depending on your platform:

Your storeWhat to doCode needed
Shopifyinstall the appnone
WooCommerceinstall the plugin, paste the Project IDnone
Anything elsepaste one snippet in <head>one snippet

Purchases, add-to-carts, page views and form leads are detected automatically. See Install the tracking.

Sending data through data.yourstore.com instead of our domain makes the traffic first-party: ad-blockers don't recognise it, and Safari stops capping your cookies at 7 days. It's one DNS record and it's the single biggest lever on how much data actually survives. See Custom domain.

4. Connect your destinations

Websites → your site → Destinations. Paste the credentials for each platform you use. Every destination is independent: connect one, or all ten. See Destinations.

Then hit Test all destinations to confirm each one accepts your events before you rely on it.


What you get once it runs

Complete conversion data on Meta, Google Ads, TikTok, Snapchat, Pinterest, Reddit and GA4 — deduplicated against your browser pixel automatically, so nothing is double-counted.

Customer profiles. Events are unified into one profile per person, even when they started out anonymous and identified themselves later. Lifetime value, order count, repeat-buyer status — see them under Customers.

Audiences you can act on. Build a segment with a rule ("2+ orders and LTV over $200") and push it to Meta or Google as a Custom Audience. Exclude existing buyers from acquisition campaigns, or use your best customers as a lookalike seed. See Segments & audience activation.

Your raw data, in your warehouse. Every event, in a stable schema, in your own BigQuery, Snowflake, S3 or webhook endpoint. No lock-in. See Warehouse export.

A site that knows who is looking at it. The same segments can change what a visitor sees — a repeat customer doesn't need the first-order coupon. One HTML attribute, no flicker, no extra request. See On-site personalization.

Someone watching the data for you. If events stop arriving or a platform starts rejecting deliveries, you get told — instead of finding out from a reporting gap next week. See Alerts.

Proof it's working. The Delivery page shows every single delivery per platform, with the HTTP status the platform returned, plus a match-quality score telling you how well your events can actually be matched to real people.


Where things live

PageWhat it's for
Overviewhealth at a glance, onboarding checklist
Websitesyour sites, the destination credentials and CNAME for each
Installationthe snippet, and manual event examples for custom sites
Integrationsdownload the WooCommerce plugin / install the Shopify app
Deliveryevery delivery, per platform, with errors and match quality
Acquisitionwhere your customers come from — channels, ROAS, geography, devices
Customersunified customer profiles, LTV, order history
Segmentsaudience rules, activation, and on-site personalization
Activationsevery audience and the destinations you can push it to, with sync status
Alertsdata-health warnings and segment-entry notifications, and where to send them
Guidethis documentation
Not sure where to start? Install the tracking, connect one destination, and watch the Delivery page fill up. Everything else builds on that.