Web-to-app

From mobile web to app — without losing the click

Many journeys start on a phone browser. AppVero’s web SDK shows a smart banner, decorates your app links with the ad click that brought the visitor, and stitches web and app users together.

AppVero smart banner builder with a live preview on a phone and localised copy tabs.

Web-to-app: what’s included

  • A small web SDK

    About 7.6 KB gzipped. Script tag, npm module or Google Tag Manager template.

  • Smart banner

    Designed in the dashboard, with localised copy and a QR card for desktop visitors.

  • Smart script

    Decorates your app links with gclid, gbraid, wbraid, fbclid, ttclid, twclid, ScCid, li_fat_id, msclkid and UTMs.

  • Web ↔ app stitching

    The same customer user ID on web and in the app links the two journeys together.

  • Bot suppression

    Crawlers, link previewers and automated browsers are not stored, sent or shown a banner.

  • Google Tag Manager

    A custom template that loads the SDK from sdk.appvero.ai with the same options.

Smart banner

A banner your visitors can read

Pick the link, platforms, position and dismissal period, write the copy once in English and add translations — Malay and Thai today, more languages on the way. The live preview shows Android, iOS and the desktop QR card before you publish — and changes go live without redeploying your site.

  • Top or bottom, Android and/or iOS
  • Hidden for N days after a visitor closes it
  • Desktop visitors get a QR card to scan
Smart banner live preview: phone with an “Open” banner for the Northwind demo app, plus the desktop QR card.
Install

Paste once into your

The stub queues calls until the SDK loads, so you can call AppVero(…) straight away. Nothing is stored or sent before init.

index.htmlHTML
<script>
  !(function (w, d, n, u) {
    w[n] = w[n] || function () { (w[n].q = w[n].q || []).push(arguments); };
    var s = d.createElement("script"); s.async = 1; s.src = u; d.head.appendChild(s);
  })(window, document, "AppVero", "https://sdk.appvero.ai/web/v1/appvero.min.js");

  AppVero("init", { appId: "app_7f3k9q2m" });
</script>
Smart linkJavaScript
const url = AppVero.smartLink("https://northwind.appvero.link/app", {
  // carried from the landing page into the install:
  // gclid, gbraid, wbraid, fbclid, ttclid, twclid, ScCid, li_fat_id, msclkid, utm_*
});
// https://northwind.appvero.link/app?media_source=…&campaign=…&fbclid=…&web_id=…
Transparent by design

What the web SDK stores

First-party storage only, documented key by key.

KeyWhereLifetimeContent
av_widFirst-party cookie (+ localStorage copy)2 years, re-set on every visitVisitor ID (web_id)
av_sidsessionStorage30 min idleSession ID and last activity time
av_attrlocalStorage90 daysCaptured click IDs and UTM
av_cuidlocalStorageUntil clearedCustomer user ID
av_bd_<appId>localStorageBanner dismissal periodBanner dismissed

Browsers cap these lifetimes — for example Safari limits script-set storage without user interaction.

Questions

Web-to-app, answered

Something else? [email protected]

Does the web SDK slow my site down?

It is about 7.6 KB gzipped, loads asynchronously, and sends events in batches with navigator.sendBeacon.

Which web origins can send events?

Only the origins you list in the app’s web settings. Requests from other origins are refused.

See your own data in AppVero

Bring a campaign, a link or an app build. We’ll walk through attribution, deep links and raw data with your team, on data that looks like yours.