Attribution and unknown
Short links, outcomes, and why a result with no known source is counted as unknown.
OpenNomos does not know what happens on your site. It only knows what is told to it, and it refuses to guess.
Short links
track with type: "link" creates a link for one place you will post it:
{ "type": "link", "link": { "target_url": "https://acme.com/pricing", "channel": "reddit", "experiment_id": "exp_7Hn2LpWc0" } }mode | Returns |
|---|---|
redirect (default) | short_url (https://service.opennomos.com/l/<code>) and final_url. Clicks are counted. |
utm_only | final_url only, with UTM parameters. Nothing is counted by OpenNomos. |
Both add utm_source (the channel, else opennomos), utm_medium=opennomos, utm_campaign (the experiment id, else the project slug) and, for redirect links, utm_content=<code>.
Safety limits on targets: https only; not an IP address, localhost, a known URL shortener or OpenNomos itself; and, for redirect links, at most three distinct target hosts per project (the host of the project's own website, url or domain profile field counts as one). A fourth host fails with link_host_not_allowed; ask the user to approve it.
What a click records
For each redirect: time, a bot flag (empty or crawler-like user agents), a daily-salted hash of IP and user agent (to count unique visitors without storing either), the country, and the referrer host only. See Privacy. Link previews from chat apps are bots; the briefing reports human and bot clicks separately.
Outcomes
Record a result with the outcome object of log_action (type such as signup, reply, call_booked; optional value, unit, evidence).
| Attribution | When |
|---|---|
direct | The outcome is tied to an opportunity or a short link. |
unknown | It is not. |
Outcomes with attribution unknown are never credited to a channel and are excluded from outcome:<type> experiment metrics. The briefing's attribution block reports them as unknown and gives unknown_share, so a low-quality picture is visible instead of hidden. (The briefing also has a self_reported bucket; the current log_action records either direct or unknown.)
The boundary
- No conversion events come back. A click is counted at the redirect. A signup on your site is counted only if you or your agent record it with
log_action(for example from your own analytics), tied to the link or opportunity. - A site without accounts can attribute clicks but not signups unless you report them.
- Connecting analytics (Search Console, GA4, product analytics) so the agent can read real conversions is planned, not available.
If you do not know where a signup came from, leave it unknown. That is a correct answer.