Adjust
Send Adjust installs, sessions, and in-app events into Ours Privacy with Adjust server callbacks, joined to each person's web and app activity.
Send Adjust installs, sessions, and in-app events into Ours Privacy. Each event arrives with its network, campaign, ad group, creative, and revenue, on the same profile as the person's website and app activity.
Pass the visitor ID to Adjust
From your website. Add the visitor ID to your Adjust links as adj_label. Adjust returns it on the install and later events from that link. Add it as ours_visitor_id too, for people who already have the app.
const link = new URL('https://app.adjust.com/abc123');
link.searchParams.set('adj_label', ours.getVisitorId());
link.searchParams.set('ours_visitor_id', ours.getVisitorId());From your app. Add a global callback parameter named ours_visitor_id to the Adjust SDK, set to getVisitorId() from the Ours Privacy iOS, Android, or React Native SDK. Set it before Adjust starts so the install carries it, and again whenever the visitor ID changes. To join events to your own user ID, add it after login as user_id.
Connect Adjust
-
In Ours Privacy, click Add source, choose Webhooks, name it
Adjust, and copy its Webhook URL. -
In Adjust, open your app's Server callbacks and add a global callback: the webhook URL followed by this query string. Add any other Adjust placeholders you want as event properties.
?activity_kind={activity_kind}&event_name={event_name}&adid={adid}&label={label}&created_at={created_at_milli}&network_name={network_name}&campaign_name={campaign_name}&revenue={revenue_float}¤cy={currency} -
Trigger an install or event from a test device so Ours Privacy learns the payload shape.
-
In the source's Mappings tab, set:
Mapping field Value Event Name {% if event_name != blank %}{{ event_name }}{% else %}{{ activity_kind }}{% endif %}Ours Visitor ID {% if label != blank %}{{ label }}{% else %}{{ ours_visitor_id }}{% endif %}External ID {{ user_id }}Event ID {{ adid }}-{{ activity_kind }}-{{ created_at }}Event Properties the network, campaign, and revenue fields from step 2 -
Confirm events in the Recent Events Dashboard.
Good to know
- The link wins. When an event carries both a label and your app's visitor ID, installs from your website join the visitor who clicked.
- Installs and sessions have no event name. They arrive named by their activity kind, such as
installandsession. - One callback per activity. A global callback plus an event callback for the same activity sends it twice. The Event ID keeps a repeated callback from counting twice.
Next Steps
- Mobile Measurement Partners: how partner events join web and app activity.
- Mapping Templates: rename events or set fallbacks in your mappings.
- Recent Events Dashboard: verify incoming events.
If you have questions about connecting Adjust, reach out to support@oursprivacy.com.
How is this guide?

