# Per-Account Lead Attribution: UTMs, Short Links and the First Comment

_2026-09-26 · A practical guide to attributing leads to each page and profile: a consistent UTM scheme, one short link per account, first-comment links, and CRM handoff._

An agency that runs the same campaign across forty pages eventually gets one question from the client: "Where did the leads come from?" If the answer is "social," it isn't worth much. The client wants to know which location, which page and which post produced inquiries, so they can decide where to spend.

That answer isn't built in the report. It's built when the link is created, before the post goes out. This guide walks through account-level attribution from the link all the way to the lead record in the client's CRM.

## Why "traffic from Facebook" isn't enough

Analytics tools can usually tell a visitor came from Facebook or Instagram. They can't tell which Page, because every Page shares the same referring domain. On top of that, some in-app clicks arrive with no referrer at all and get filed as direct traffic.

The result: forty pages, one blended line in the report, and no way to say which page has an audience that actually converts. To split it, every link has to be tagged before it ships.

## Layer one: a consistent UTM scheme per account

UTM parameters are additions to a URL that analytics tools like Google Analytics read and attach to the session. Google documents the supported parameters in its [guide to collecting campaign data with custom URLs](https://support.google.com/analytics/answer/10917952).

### A workable structure

| Parameter | What goes in it | Example |
|---|---|---|
| utm_source | The network | facebook |
| utm_medium | Traffic type | social |
| utm_campaign | Campaign name | spring-sale-2026 |
| utm_content | Account identifier | location-denver |

Using utm_content for the account is a practical choice. Source and medium stay clean so you can compare networks, campaign lets you compare campaigns, and content splits by page. Some agencies put the account ID in utm_term or fold it into the campaign name. Which one you pick matters less than picking one and sticking to it.

### Rules that prevent broken reports

1. **Lowercase, no spaces.** Values are case sensitive; "Facebook" and "facebook" count as two sources.
2. **Stable account IDs.** Not "Denver Store" one week and "denver" the next.
3. **One central list of IDs** that everyone works from.
4. **Never hand-build them.** UTMs typed manually per post break within a week. Generate them from account settings.

## Layer two: one short link per account

UTMs alone aren't enough, for two reasons.

First, they only measure what the analytics tool sees. Visitors who decline cookies, ad blockers and privacy-focused browsers can make a share of visits disappear. The analytics number is an indicator, not a full count.

Second, a long URL with four parameters looks bad in a post and puts people off.

A dedicated short link per account fixes both. Each click is counted on the link service's server before the redirect, independent of cookies on the site, and the link itself is short and clean. With a separate link for every account, you have a click count per page even when the client's analytics setup is incomplete.

### What to check in a link service

1. It preserves UTM parameters on the final destination
2. It can generate a link per account automatically, not one at a time
3. It filters bot traffic and link-preview fetches
4. Who owns the domain and the click data if you switch tools

## Layer three: the link in the first comment

Many business pages put the link in the first comment rather than in the post body, keeping the post clean and pointing the CTA to the comment. Treat this as a style choice to test, not a rule. No network has officially stated that it improves reach, so measure what works for your audience.

A few things to know:

1. **Instagram doesn't make links in captions or comments clickable.** There, the link belongs in the bio, a Story link sticker or a link-in-bio page. First-comment links are mainly useful on Facebook Pages and YouTube.
2. **The comment has to go out right after the post**, or the first wave of viewers won't find the link.
3. **Use that account's own short link in the comment**, with its UTMs. Otherwise every lead from comments blends together.

## The step most agencies skip: carrying the source into the lead

Clicks aren't leads. To know how many inquiries each account produced, the source data has to land on the lead record itself.

### How to do it

1. **Hidden form fields**: on the landing page, add hidden fields for utm_source, utm_campaign, utm_content and so on, populated from the URL.
2. **Persist across the visit**: if the visitor browses a few pages before converting, keep the parameters (for example in a first-party cookie, subject to your privacy policy and any required consent).
3. **CRM mapping**: make sure the fields map to dedicated CRM properties, not a free-text notes field.
4. **Manual test**: submit a test lead from one link in each account group and confirm it arrives with the right source.

### What about calls and messaging apps

Phone calls and WhatsApp messages don't pass through a form. You can narrow the gap with a prefilled message in the WhatsApp link that includes a short account code, or with separate tracking numbers for larger campaigns. It's imperfect, but better than guessing.

## What a useful client report looks like

With all three layers connected, the client gets a simple table:

| Account | Posts | Clicks (short link) | Sessions (analytics) | Leads (CRM) |
|---|---|---|---|---|
| Denver | ... | ... | ... | ... |
| Boulder | ... | ... | ... | ... |

The gaps between columns are information in their own right. Many clicks but few sessions suggests a landing page or consent problem. Many sessions but few leads points at the offer or the form.

## Pre-launch checklist for a measurable campaign

1. A written UTM convention the whole team follows
2. A stable ID for every account
3. Links generated automatically per account
4. Short links preserve UTMs at the destination
5. First-comment links use that account's own short link
6. Landing page hidden fields map into the CRM
7. At least one test lead per account group verified end to end
8. A plan for phone and messaging-app inquiries

## Wrapping up

Account-level attribution isn't a reporting-tool problem. It's the result of discipline: one convention, links generated automatically, and source data that travels from the click to the CRM. An agency that holds this line can show the client exactly which pages drive business, and stop arguing about impressions.

In Shager this is part of publishing itself: each account automatically gets its own UTM tags and a Shager short link, the link can go out in the post's first comment, and clicks are counted per account so you can line them up against the leads that came in.

---
Source: https://shager.ai/en/blog/utm-per-account-lead-attribution
