Skip to content
Documentation

Documentation

Web to app

Keep the ad that brought someone to your website when they go on to install your app.

The problem it solves

Someone clicks your Google or Meta ad, lands on your website, then taps "Get the app" and installs it. The ad's click id is on your web page; the install happens in the app. Without a bridge between the two, the install and every purchase in the app read as organic, and the ad that earned them looks like it earned nothing.

ROAS Sensor bridges it two ways, which work together: your own download buttons, and a smart banner we draw for you. Both need a website and an app in the same workspace, and the tracking snippet on the website.

Download buttons

Point your "Get the app" button at one of the app's hosted links (the app's Install links tab), not straight at the store:

html
<a href="https://api.roassensor.com/api/tracking/c/get-the-app">Get the app</a>

The snippet adds the visitor's id to that link when it is tapped (rsvid, version 0.5.1 and later, no setup). The redirect looks up the ad that brought this visitor to your site and carries its click id, campaign and ad ids on to the store, so the install is credited to that ad, and so is the revenue that follows. The visitor may have browsed several pages first; the click id does not need to be in the current page's address.

The ad is carried only when all of these hold:

  • The link names no ad of its own (no utm_source or platform click id). An ad that points straight at the link wins.
  • The tap came from a page on one of the workspace's registered domains (App details → Domains). A link copied elsewhere with someone else's visitor id carries nothing.
  • The ad visit is inside the click window: the app's own, or that network's on the Partners tab.
  • The visitor has not declined tracking. Without consent no visitor id is sent, and the install is matched as a plain link click.
PhoneHow the install is matched
AndroidExactly: the ad's click id travels through Google Play's install referrer.
iPhoneExactly, when the app reads the clipboard: on an iPhone tap the snippet copies the link with a one-time click code, and the iOS SDK (0.1.14+, Roas.claimPastedClick) hands it back on first open. iOS 16+ asks the user first unless the app uses Apple's Paste button. Otherwise only by the optional same-network guess: the App Store passes nothing to the app.

Smart banners

A smart banner is a "Get the app" bar shown to phone visitors on your website: your app's icon, a title, a short line and a button. It is drawn by the tracking snippet you already have (version 0.6.0 and later), so there is no code to add.

  1. Open your website in the panel and go to the Smart banners tab.
  2. Click New banner, pick the Android app and/or iOS app it should open (each needs its package name or App Store id under App details), and write the title, subtitle and button text.
  3. Choose the position (top or bottom), the colours, how many days it stays hidden after someone closes it, and, optionally, the pages it shows on or never shows on.
  4. Save. Visitors see it within about five minutes.

The live preview is drawn at a real phone's width, so the text cuts off where a visitor's would.

SettingWhat it does
Android phones open / iPhones openWhich app each phone is sent to. Leave one empty to show nothing to those phones.
Only on these pagesPath prefixes, one per line (/products). It matches whole path segments: /products covers /products/42, not /productsale. Blank shows it everywhere.
Never on these pagesSame format; wins over the list above. Keep it off /checkout so it never distracts a buyer.
Days hidden after closePer browser. 0 brings it back on the next page.

It appears on Android phones and iPhones only: never on a computer or an iPad. Once you have registered your domains (App details → Domains), it only appears on those. It sits inside its own isolated box, so your site's styles cannot break it and it cannot restyle your page.

A tap goes through a tracking link created for each app automatically. You will see it on the app's Install links tab as "Smart banner: <name>"; manage it from the banner, not there. If the app has a custom URL scheme set, the tap tries to open the installed app first and falls back to the store.

Who gets the credit

Each banner has a credit setting:

SettingAn install from a visitor who came from an adAn install from a visitor who came without one
The ad that brought the visitor (default)The adThe banner
Always the bannerThe bannerThe banner

The default is right for most: a banner is owned media, and the ad that brought the visitor is what you are paying for and deciding on, so its ROAS should include the app installs it led to.

Banner credit is reported as its own channel, smart_banner, with the banner's name as the campaign and banner-<id> as the campaign id, in every report and export. It has no spend, so it never inflates a paid channel's ROAS, and it is never mixed into one.

The banner's row on the tab shows views, taps and installs credited to the banner. Under the default setting the installs that went to an ad are not counted there; they are in that ad's numbers.

Google ads and tracking links

Google disapproves an ad whose Final URL redirects to another domain, so a hosted link cannot be a Google ad's Final URL. It goes in the Tracking template instead (Google Ads → Settings → Campaign URL options, or the account's tracking settings), and the Final URL stays the real store listing or page.

text
https://api.roassensor.com/api/tracking/c/spring-app?utm_source=google&utm_campaign={campaignid}&utm_content={creative}&rs_campaign_id={campaignid}&rs_adset_id={adgroupid}&rs_ad_id={creative}&gclid={gclid}&gbraid={gbraid}&wbraid={wbraid}&redirect={lpurl}

On each click Google calls the link, we log the click, and {lpurl} sends the visitor on to the ad's Final URL. The link follows it only to your app's own store listing or a page on your registered domains; anything else falls back to the link's saved destination, so it can never be used to send people somewhere else.