What UTM parameters should I use for Instagram?
Use utm_source=ig on every Instagram link, utm_medium=social for bio, story and post links and paid_social for ads, plus a campaign name without shop. GA4 files an Instagram ad as Paid Social only when both the source and the medium pass its rules.
By Joris van Huët, Founder & CEOUpdated 6 min read
Run the numbers for your store: the free UTM builder.
Usually: utm_source=ig on every Instagram link, utm_medium=social on bio, story and post links, and utm_medium=paid_social on ads. Add a utm_campaign name without the word shop, and a utm_content value for each placement. For ads, type the tags into the URL parameters field in Meta Ads Manager.
What one store's data shows
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Paid Social, in last click, first click and touched views | 0.0% | Channels sheet, Paid Social row |
| Touched view, every channel added up | 110.4% | Channels sheet, Touched column total |
| Direct, in last click, first click and touched views | 57.7% | Channels sheet, Direct row |
Start with the zero. On the Channels sheet, Paid Social holds 0.0% of revenue in every view, touched included. The touched view credits a channel for any revenue journey it appeared in, anywhere along the way. That is why the touched column sums to 110.4% on the Channels sheet: a journey through two channels counts in both.
So in this one store's GA4, journeys that touched a session filed as Paid Social carry no measurable revenue. There are two readings. The store ran no social ads in those weeks, or its ad clicks reached GA4 wearing another label. The export cannot tell you which.
For Instagram, the other labels are easy to reach by accident. A paid click with an unlisted source falls out of Paid Social. A medium without paid in it lands in Organic Social. A campaign name with shop in it can be filed under Shopping. The next section shows each rule.
Then Direct. On the Channels sheet, Direct holds 57.7% of revenue in last click, first click and touched alike. If Instagram is where people first meet you, the first-click view is where it should show. It can only show there if that first click carried a label GA4 could read.
What the export cannot show is which links carried tags, or where any Instagram click ended up. The file lists channels and their shares, not the links behind them. Your own Traffic acquisition report can show that, and the steps at the end start there.
Why does the usual Instagram answer mislead?
The usual answer is utm_source=instagram and utm_medium=social. That works for a bio link. It breaks in four places once ads join in.
The source value. Google's own UTM best practices suggest insta for Instagram. Yet GA4's downloadable list of social sources holds ig, instagram and instagram.com, and not insta. Paid Social needs a listed social source and a paid medium, so a paid click tagged insta can slip into Paid Other.
The medium. GA4 treats a medium as paid only when it contains cp, equals ppc or retargeting, or starts with paid. A medium of paid_social passes. With source ig, a medium of instagram_ads fails, so the ad click lands in Organic Social.
The tags Meta adds. Meta's help says it may add its own source, Facebook or Instagram, and the medium paid to ad traffic. For Shopify merchants it lists the source as Facebook alone. So on a Shopify store, Instagram ad clicks can arrive labelled Facebook. Meta also says parameters you add in Ads Manager override ones set elsewhere.
The campaign name. GA4's Shopping channels match campaign names containing shopping, or shop at the start or after a space, underscore or hyphen. GA4 puts traffic in the first channel whose rule it matches, and Paid Shopping sits above Paid Social. Tag an Instagram ad utm_campaign=summer_shop and it can be filed under Paid Shopping.
That leaves ig as the safest source. It is on GA4's social list, and it is the value Meta's own site_source_name parameter writes for Instagram placements. Use it on organic links too, so Instagram shows up as one source, not two.
What can an Instagram tag not tell you?
A tag labels one click. Meta's help says a URL parameter only applies to the first product page someone lands on. If they leave and return to that page on their own later, the parameter is lost. The return visit gets whatever label it arrives with.
It also cannot see the people who watched and never tapped. Someone sees a Reel at night and types your address over breakfast. No link was clicked, so no tag fired, and GA4 has nothing to file under Instagram.
And a tag is a label, not a verdict. It records the route a visitor took, not whether Instagram caused the sale. A buyer who was coming anyway still hands the credit to whatever link they used.
What to do this week
- List every Instagram spelling in GA4. Select Reports, then Acquisition > Traffic acquisition, and set the table to Session source / medium. Type instagram, then ig, into the search bar above the table. Pass: one tagged source, with a social row and a paid_social row. Fail: insta, Instagram and ig all appear, or Instagram ads sit under facebook / paid.
- Read one live ad's URL parameters. In Meta Ads Manager, open the ad's setup and find the URL parameters field below Tracking. Pass: it holds utm_source, utm_medium=paid_social and utm_campaign. Fail: it is empty, so add the tags to your next new ad. Meta warns that changing a published ad's parameters may send its ad set back into the learning phase.
- Search your campaign names for shop. In the same Traffic acquisition report, switch the table to Session campaign and type shop into the search bar. Pass: no Instagram campaign contains shop or shopping. Fail: one does, so name the next campaign without it. Meta's name-based parameters keep the name an ad was first published with.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: URL builders: Collect campaign data with custom URLs (Google); Default channel group (Google); GA4 default-channel-group sources and categories (Google); Custom channel groups (Google); Traffic acquisition report (Google); Add URL parameters to your Meta ads in Meta Ads Manager (Meta); Specifications for dynamic URL parameters in Meta Ads Manager (Meta)
Related answers
Frequently asked questions
Should I use instagram or ig as the utm_source?
Either is on GA4's published list of social sources, so both reach the Social channels. Pick ig if your ads use Meta's site_source_name parameter, because that writes ig for Instagram placements. Then use ig on organic links too, so Instagram shows as one source.Does Meta add UTM parameters to Instagram ads by itself?
It may. Meta's help says a campaign source of Facebook or Instagram and a campaign medium of paid can be added to ad traffic. For Shopify merchants it lists the source as Facebook. Set your own in the URL parameters field to control the label.Can GA4 track Instagram clicks without UTM parameters?
Partly. A click that keeps Instagram's referrer lands in Organic Social, because instagram.com and l.instagram.com are on GA4's social list. But a bio link, a story and an untagged ad then look the same, and a click that loses its referrer lands in Direct.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- Ad SpendAd Spend is the total amount invested in advertising campaigns. It is measured against Return on Ad Spend (ROAS) to evaluate campaign effectiveness.
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- CausalityCausality is the relationship where one event directly causes another, essential for identifying specific actions that drive desired outcomes in marketing.
- Product PageProduct Page is a webpage dedicated to a single product. It includes images, descriptions, pricing, and purchase options.
- RetargetingRetargeting is online advertising that targets users who have previously interacted with your website or content. Attribution analysis shows the causal role of retargeting in driving conversions and improving ad spend.
- RevenueRevenue is the total income generated by the sale of goods or services related to a company's primary operations.
- 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.