Comment a keyword, lose the attribution trail
When a viewer comments a keyword and gets the link by DM, GA4 only knows what the link tells it. Tag every DM link with its own campaign, then judge each keyword on orders and revenue, not on comments or clicks.
By Joris van Huët, Founder & CEOPublished 6 min read
Run the numbers for your store: the free UTM builder.
A "comment the keyword and I'll send you the link" call to action moves the click somewhere your analytics cannot see, unless the link says where it came from. Tag the link and the keyword becomes a channel you can measure. Leave it bare and the sale lands in whatever row GA4's default rules pick, which is rarely where you would look for it.
A recent ecommerce video about an AI sourcing agent closes on exactly that ask: comment a keyword below and the link will follow (the video). The format is everywhere because it is low friction and it produces comments. Brands copy it on Instagram and TikTok, where an automation can answer the comment with a direct message. The measurement gap comes along with it.
Where the click actually goes
- A viewer comments the keyword.
- An automation replies with a link in a direct message.
- The viewer taps it, usually inside the app.
- GA4 files the session using the campaign parameters on the link, if it has any.
Without UTM parameters, GA4 has only the referrer to work with, if the app passes one along. Google's own guide to campaign URLs says missing UTM parameters result in (not set) values in reporting (Analytics Help).
Then GA4's default channel group rules sort the visit into a row. Four of those rules matter here:
- Organic Social: a source on GA4's list of social sites, or a medium such as social.
- Referral: a medium of referral, app or link.
- Direct: a source of (direct) with no medium.
- Unassigned: what GA4 uses when no other rule matches.
So an untagged DM link lands in a social, referral or direct row depending on what the app passes along, and a badly tagged one can land in Unassigned. None of those rows says it was the keyword. A bare link filed as Direct looks like loyal customers typing your address; see direct traffic. One filed as Unassigned joins the traffic that penalises your newest channels.
Three tagging mistakes that move the sale
Each of these sends a tagged link to the wrong row:
- Naming the source after the tool, not the platform. A source only your automation tool uses is not on GA4's list of social sites. Paired with a medium of link, it matches the Referral rule and sits next to every other site that links to you. Paired with a medium such as dm, it matches no rule at all and lands in Unassigned.
- A keyword with shop in it. GA4's Organic Shopping rule reads the campaign name, and it matches names containing shop or shopping. A keyword such as shopnow, used as the campaign, can pull the visit toward Organic Shopping.
- One link for every keyword and every post. The sale is tagged, but you cannot tell which post or which keyword sent it.
A pattern that avoids all three: utm_source set to the platform, such as instagram or tiktok, utm_medium=social, utm_campaign set to the keyword, and utm_content set to the post. With a medium of social the visit matches GA4's Organic Social rule, and the keyword and the post stay attached to it, so each keyword gets its own line in the campaign report. The UTM tracking guide covers the rest of the setup, and how to fix UTM parameters not tracking covers what to check when tags go missing on the way in.
| Link | GA4 rule it matches | Where you will find it |
|---|---|---|
| No tags | Depends on the referrer the app passes, if any | Mixed in with other social, referral or direct visits |
| Tool name as source, utm_medium=link | Referral | Next to every site that links to you |
| Tool name as source, utm_medium=dm | None | Unassigned |
| Platform as source, utm_medium=social, keyword as campaign | Organic Social | Its own line per keyword in the campaign report |
What the automation tool counts
The automation tool reports DMs sent and links clicked. The platform reports comments, reach and followers. Neither sees your checkout. A keyword that produces a pile of comments and no orders will look like your best post in every dashboard except the one that counts money.
Comments are the platform's currency, and they are the automation tool's product. Orders are yours. Judge the keyword on the thing only you can see.
How to tell if it works
Three numbers per keyword, all from your own tools:
- DMs sent, from the automation tool.
- Sessions with that keyword's campaign tag, from GA4's traffic acquisition report by session campaign.
- Purchases and revenue with that tag, from the same report.
Sessions divided by DMs sent tells you roughly what share of people opened the link. Purchases divided by sessions tells you whether the people it brought were buyers.
Then give it time. A person who gets a link today may come back next week through search or by typing your address, and that later visit carries no keyword tag. Read each keyword over a window long enough for people to return, and treat same-day purchases as the floor, not the total. The later visit arrives as a different traffic source, which is why the keyword's own line can look smaller than its real effect.
What to test
- Alternate the call to action on comparable posts. Half the posts ask for a comment keyword, half point to a link in bio. Give each its own campaign tag, and keep the offer the same.
- Compare orders per post, not comments per post. The keyword ask will win on comments; that is what it is built for. It is not the question.
- Run enough posts in each arm that one viral post cannot decide the result. A big post followed by an ordinary one is regression to the mean, not a trend.
- Keep the tags identical for the whole test, character for character, so one keyword does not end up split across two rows.
Where a read fits
Once the links carry tags, the DM path is one more path in your GA4 export. Later, a causal attribution tool like Causality Engine can read that one file, your GA4 Attribution paths export, and show what each channel caused next to what last-click gave it. Untagged, those visits stay in whatever row GA4 chose. If you want a first look before paying anything, the first finding is free and runs in your browser: how many days people who touch two or more channels take to convert.
Related answers
- How to Set Up UTM Tracking for Shopify (Complete Guide)
- GA4 Unassigned Traffic Isn't Random: Why It Systematically Penalises Your Newest Channels
- Why Your Direct Traffic Grew: Finding AI Referrals Hiding in GA4
- Influencer Marketing Attribution: Beyond Discount Codes and UTM Links
- How to Fix UTM Parameters Not Tracking in Google Analytics 4
Frequently asked questions
How should I tag a link I send by DM?
Use the platform as utm_source, social as utm_medium, the keyword as utm_campaign and the post as utm_content. With a medium of social the visit matches GA4's Organic Social rule, and the keyword and the post stay attached, so you can see which one sent it.Why do my DM link clicks show up as Direct or Unassigned in GA4?
Because the link carried no campaign parameters, or carried ones GA4's default channel rules do not recognise. Without tags, GA4 works from whatever referrer the app passes along, and with no referrer at all the visit is Direct. A source and medium that match no rule end up as Unassigned.Is a comment-to-DM call to action better than a link in bio?
Only your own orders can answer that. Alternate the two on comparable posts with separate campaign tags, keep the offer the same, and compare orders and revenue per post over a window long enough for people to come back and buy.Do comments on the post mean the call to action is working?
Comments measure the call to action's reach on the platform. They say nothing about orders. Judge each keyword on the sessions and purchases that carry its campaign tag.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- Causal AttributionCausal Attribution uses causal inference to determine which marketing touchpoints genuinely cause conversions, not just correlate with them.
- Direct TrafficDirect Traffic refers to website visitors who arrive by typing the URL directly into their browser or through bookmarks. They do not come from search engines or referrals.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Influencer MarketingInfluencer Marketing uses endorsements and product placements from individuals with dedicated social followings. It uses trusted voices to promote products.
- Marketing AttributionMarketing attribution assigns credit to marketing touchpoints that contribute to a conversion or sale. Causal inference enhances attribution models by identifying true cause-effect relationships.
- Regression to the MeanRegression to the Mean describes the phenomenon where an extreme variable measurement tends to be closer to the average on subsequent measurements. This can bias before-and-after studies, falsely attributing change to an intervention.
- Traffic SourceTraffic Source is the origin through which users find a site. Common sources include organic search, paid search, direct traffic, and referrals.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.