Short answer: combine three signals. Tag every profile link with UTM parameters so clicks show up by account, ask "how did you hear about us?" on signup, and track leading indicators such as profile visits and saves. Tagged links undercount short-form, because many viewers search for you later instead of tapping a link, so the self-reported answer usually carries the most weight.
Why short-form is hard to attribute
A viewer sees a clip, remembers the name, and a day later types it into Google. Your analytics records that as organic search or direct traffic. The clip did the work; the link got no click. On YouTube Shorts there is not even a clickable link under the video: clickable links were removed from Shorts descriptions and comments from 31 August 2023 (Tubefilter, checked 17 September 2026).
So no single number tells the whole story. Build a small set.
The measurement stack
| Signal | How | What it tells you | Weakness |
|---|---|---|---|
| UTM-tagged profile links | One link per account | Clicks and signups from the link itself | Misses search and word of mouth |
| Self-reported source | Free-text or dropdown on signup | Where people think they found you | Memory is fuzzy; needs cleaning |
| Branded search volume | Search Console, over time | Rising interest after posting | Hard to tie to one video |
| Profile visits, follows, saves | Platform insights | Whether content interests people | Not signups |
| Promo or vanity URL | Spoken in the video | Visits from people who typed it | Only works if spoken clearly |
Setting up UTMs
Google Analytics recommends always using utm_source, utm_medium and
utm_campaign, and notes that values are case sensitive
(Google Analytics Help,
checked 17 September 2026). Use one convention for every account and write it
down. A full naming scheme per account is in
UTM links for short-form.
Self-reported attribution
Add a required question on signup: "Where did you hear about us?" A free-text field gives richer answers; a dropdown is easier to count. A common compromise is a dropdown with "TikTok", "Instagram", "YouTube", "Search", "Friend or colleague", "Other (tell us)". Review answers monthly and map free text to channels by hand.
A monthly report
| Metric | Source | Example target (assumption) |
|---|---|---|
| Posts published | Posting log | Plan vs actual |
| Profile link clicks | UTM report | Trend up month on month |
| Signups with short-form UTM | Analytics | Trend up |
| Self-reported "TikTok/IG/YouTube" | Signup form | Share of total signups |
| Branded search clicks | Search Console | Trend after posting weeks |
Do not set target numbers until you have a baseline month.
Common attribution mistakes
- Judging after one week. Short-form effects build slowly; read monthly.
- Crediting only clicks. This undercounts the channel and can lead to cutting something that works.
- Crediting everything. Self-reported answers are fuzzy. Treat them as a range, not an exact figure.
- Changing the UTM scheme midway. Old and new rows stop matching.
- Not recording what was posted. A report without a posting log cannot explain a bad month.
Making sure the posts actually went out
Attribution breaks quietly if posts did not publish. Farmero checks the account's profile for each new post before marking it posted, and marks anything it could not confirm as uncertain instead of assuming. Its local MCP server can report the verified-live rate to an AI agent. That gives you a trustworthy "posts published" number for the report. See MCP server and the short-form experiments guide.
FAQ
Are UTM links enough to measure short-form?
No. They miss viewers who search for you later. Add a self-reported source question.
Should the self-reported question be required?
Making it required gets more answers. Keep it to one quick question.
What if people answer "Google"?
Some of those found you on social first. Watch whether branded search rises in weeks you post more.
Can we attribute revenue, not just signups?
Yes, if your billing system keeps the signup source. Pass it through when the account is created.
