Skip to the page

Links

Attribution and events

Clicks, installs, first opens, custom events and last-click attribution.

Attribution#

Beck Links credits an install, a re-engagement or an event to at most one link click: the last click of your own link channels, with deterministic matches first. It stores how the match was made, so you can tell a certain match from a weak one.

getAttribution() says which link, if any, brought this install:

StateMeaning
attributedA click was matched (the result includes the link, campaign and matchMethod)
organicNo click could be matched
reinstallThe install ID survived a reinstall (best effort)
pendingThe first open's answer is still on its way
unavailableTracking is off, or no result could be had

onAttribution emits every change in the process, for example pending and then attributed.

What counts, in the dashboard and the API:

  • Clicks (people only; link-preview bots are recorded separately and never billed or attributed), and unique clicks counted once per link and day.
  • Installs, and attributed installs (deterministic matches only), first opens, re-engagements (opens through a link by an existing install) and events.
  • Per link: top operating systems, countries, in-app browsers and match methods.

Events#

Dart
  • Names: 1 to 64 characters of a-z, 0-9 and _. Standard names: signup, login, purchase, subscription, checkout, add_to_cart, registration.
  • Properties: flat, at most 50 keys and 8 KB, values String, bool or num. Values that look like email addresses or phone numbers are removed unless your project allows them.
  • Revenue needs a currency (ISO 4217, such as USD), and a currency needs revenue.
  • Delivery: events are queued on the device, sent in batches (every 15 seconds, at 20 waiting events and when the app goes to the background) and kept for up to 7 days offline. Each event is stored once.

Events from your server#

For things only your server knows (a confirmed purchase), send POST /v1/events with a secret key that has the events:write scope, and an event_id of your own: a repeated event_id is stored once.

Privacy#

No IDFA, no advertising ID, no fingerprinting. IP addresses are not stored raw: they are hashed with a daily salt for unique-click counting. Referrer paths and queries are not kept (only the host). Query parameters on a link are stored only when the link has Pass query parameters on, because they can carry personal data. See Consent for turning tracking off.

Verify it works#

Track a test event from a debug build. It appears on the dashboard's Events page within about a minute. Open a link on a fresh install and check Attribution in the install's detail.