BBrainyMetrics

Attribution

Self-reported attribution next to your click data

Clicks miss the podcast, the influencer and the Instagram ad someone saw but never tapped. Ask, and compare the answers with what the clicks say.

  • Flat monthly price, no revenue tax
  • No annual contract
  • Tracking starts the minute the snippet is live

Click models only see clicks. If someone watches your Instagram ad, doesn't tap it, and later searches your brand on Google, the click credits Google. That is why many teams add a "How did you hear about us?" question. The hard part is collecting the answers consistently and making them comparable.

BrainyMetrics picks the answer up automatically from your forms (a text field, dropdown or radio group whose label looks like the question), from tracko('identify'), from the API, and from Shopify order note attributes written by post-purchase survey apps. Each answer is kept as typed and mapped to a bucket such as Facebook, Instagram, YouTube, TikTok, Google, podcast, influencer, word of mouth or AI assistant.

The problem

What it costs to go without self-reported attribution

A podcast mention, a friend's recommendation, a screenshot shared in a group chat: some of your best demand never leaves a click trail. Click-based attribution files those buyers under direct or organic, and the channel that actually persuaded them gets no credit at all.

Without asking, you end up cutting the word-of-mouth, influencer and podcast spend that quietly drives growth, simply because no pixel can see it.

Hear from customers how they really found you

Create your account, install one snippet and see it on your own leads and sales.

  • Flat monthly price, no revenue tax
  • No annual contract
  • Tracking starts the minute the snippet is live
Create your account

What you get with Self-reported attribution

Zero extra setup on most forms

Fields labelled like the question are detected automatically; mark any other field with one attribute.

Clean buckets

Free-text answers are mapped to around 20 buckets, so "insta", "IG" and "Instagram ad" land together.

Click match rate

For each answer, see where the click model put the credit and how often it matched the platform the person named.

Works with Shopify surveys

Post-purchase survey answers saved as order note attributes are read from the order webhook.

See self-reported attribution working on your own data.

Start using Self-reported attribution

Use cases

Self-reported attribution in practice

Value podcasts and influencers

Compare "heard about you on a podcast" answers with the clicks recorded for the same people to see what tracking misses.

Explain the direct traffic spike

When direct revenue jumps after a campaign, the survey answers tell you which offline or dark-social channel caused it.

Sanity-check click attribution

Where answers and clicks agree, trust the model. Where they disagree, you have found the next thing to test.

Start using Self-reported attribution
  • Flat monthly price, no revenue tax
  • No annual contract
  • Tracking starts the minute the snippet is live

Why BrainyMetrics

Marketing without guesswork

What changes when every lead, call and sale is tied back to the ad that started it.

Meta, Google and TikTok each claim the same sale, so platform totals add up to more than your bank account.
Each sale is counted once, from your own checkout data, and reconciled against what each platform claims.
Analytics gives the last click all the credit, so the ads that start journeys look like they lose money.
Seven attribution models are computed for every conversion, so you can compare first click, last click and everything between.
Phone calls and booked calls are a black box. You know they happened, not which ad caused them.
Calls and bookings are matched to the visitor's session and the ad behind it, then tracked through qualified and closed.
Ad blockers, Safari and cross-domain checkouts quietly break your data.
A first-party tracking subdomain, server-set cookies and cross-domain linking keep journeys intact.
Spend lives in one tab, revenue in another, and ROAS is a spreadsheet you rebuild every Monday.
Spend syncs hourly and sits next to attributed revenue, so ROAS, CPA and profit are on every row, down to the ad.
Ad algorithms optimise on the few conversions their pixel happens to see.
Real purchases and leads are sent back to the ad platforms' conversion APIs, deduplicated against the pixel.

Stop guessing which marketing pays.

Start using Self-reported attribution

Getting started

Live on your site in four steps

No migration project and no agency retainer. Here is the whole path from sign-up to your first attributed sale.

  1. 1

    Create your account

    Sign up, name your workspace and pick the plan that fits. Your tracking snippet is waiting under Settings → Install.

  2. 2

    Install tracko.js

    Paste one snippet into your site's head, or add it with Google Tag Manager, WordPress or your funnel builder's tracking code box.

  3. 3

    Connect revenue and ads

    Connect Stripe, Shopify, your funnel builder or calendar, then Meta, Google or TikTok for hourly spend. Most connections take a click.

  4. 4

    Watch the first sale land

    The setup checklist ticks itself off as data arrives. Your next lead or sale shows up with its full journey and the ad that earned it.

Create your account
  • Flat monthly price, no revenue tax
  • No annual contract
  • Tracking starts the minute the snippet is live

Frequently asked questions

Common questions about Self-reported attribution, setup and pricing.

The fastest answer is your own data

Create an account, install the snippet and see how BrainyMetrics handles your real traffic.

Get started
Where do I see the results?

Insights → Self-reported groups leads and sales by answer and shows where the selected click model credited the same conversions.

What if a person answers twice?

A person keeps their earliest answer. When two people are merged, the earlier answer is kept too.

Can I send answers from my own backend?

Yes. Pass heard_about in POST /api/v1/leads or POST /api/v1/orders, or in tracko('identify').

How long does setup take?

The basics take minutes: paste the snippet, connect your checkout or funnel builder, and connect your ad accounts. The setup checklist in your dashboard ticks each step off as data arrives, so you always know what's left.

Do I need a developer?

Usually not. The snippet can go in through Google Tag Manager, WordPress or your funnel builder's tracking code settings, and most revenue sources connect with a click or a webhook URL you paste. The developer guide covers the JavaScript and server API if you do have a developer.

Does the price go up as I grow?

No. Plans are a flat monthly or yearly price. We never bill a percentage of revenue or ad spend, and you can switch, pause or cancel from the Billing page without a call.

Does tracking stop if I hit a plan limit?

No. Plans limit dashboard modules and things like integrations or workspaces; tracko.js, webhooks and syncs keep collecting data, so nothing is lost if you upgrade later.

Is it privacy friendly?

Yes. BrainyMetrics supports consent modes, works with your consent banner, respects Global Privacy Control and handles sensitive form fields strictly. Data is first-party: it belongs to your workspace, not an ad network.

Keep exploring

Hear from customers how they really found you

Install one snippet, connect your checkout and ad accounts, and get attribution you can act on today. Flat pricing, no annual contract.