How-To Guide · Analytics & Tracking

How to Set Up UTM Parameters for Instagram Ads

Learn how to add UTM parameters to Instagram ads step-by-step using Meta Ads Manager's URL Parameters field, dynamic macros, and naming conventions that keep your tracking clean.

TL;DR Add UTM parameters in the dedicated URL Parameters field inside Meta Ads Manager, not in the destination URL. Use dynamic macros like {{campaign.name}} and {{site_source_name}} to auto-fill values and reduce errors. Never append UTMs directly to the destination URL or Meta will strip them automatically.

4 min read By Updated 0 steps

Originally published .

UTM parameters tell Google Analytics exactly which Instagram ad drove each click. Without them, paid traffic blends into "direct" or "social" and attribution breaks. This guide shows you how to set them up correctly.

Why UTM Parameters Matter for Instagram Ads

UTM parameters close the loop between Meta Ads Manager and your analytics tools. You see which campaign, ad set, and creative drove real conversions. Without UTMs, Instagram traffic often appears as "(direct)" in Google Analytics, hiding your true ROI.

Understanding UTM Parameters: The Basics

What each UTM parameter does

Five standard UTM parameters exist. Each one tags a different dimension of your traffic.

| Parameter | What it tracks | Example value |

|---|---|---|

| utm_source | Where traffic came from | instagram |

| utm_medium | Channel type | paid_social |

| utm_campaign | Campaign name | summer_promo |

| utm_content | Specific ad or creative | carousel_v1 |

| utm_term | Keyword (optional for paid social) | running_shoes |

Standard vs. custom parameters

Stick to the five standard parameters for Google Analytics compatibility. Custom key=value pairs work too, but your analytics tool needs to be configured to read them first.

Step-by-Step: Add UTM Parameters to Instagram Ads

Step 1: Open your ad in Ads Manager

Go to Meta Ads Manager. Select the campaign, then the ad set, then the specific ad you want to track.

Step 2: Navigate to the Tracking section

Scroll down inside the ad editor. Find the section labeled "Tracking."

Step 3: Locate the URL Parameters field

You will see a field called "URL Parameters." This is the only correct place to enter UTMs. Per Meta's Ads Manager documentation, appending parameters directly to the destination URL causes them to be stripped automatically. Always use this dedicated field.

Step 4: Build your UTM string

Format your UTM string as key=value pairs joined by `&`. No question mark at the start. Ads Manager appends the `?` to your destination URL automatically. Example:

```

utm_source=instagram&utm_medium=paid_social&utm_campaign=summer_promo&utm_content=carousel_v1

```

Step 5: Use dynamic parameters for efficiency

Meta provides dynamic macros that auto-fill values at serve time. No manual updates needed when you rename a campaign. See the next section for the full list and a ready-to-paste example.

Step 6: Save and review your ads

Click Save. Preview the destination URL to confirm the UTM string appears correctly. Click the ad preview URL in a browser and verify the parameters land on your page intact before the campaign goes live.

Meta's Dynamic Parameters: The Smart Shortcut

Dynamic parameters eliminate copy-paste errors and keep tracking accurate even after campaign renames.

Available dynamic parameters and what they inject

Per Meta's developer documentation, these macros are supported:

  • `{{campaign.id}}` injects the numeric campaign ID
  • `{{campaign.name}}` injects the campaign name
  • `{{adset.id}}` injects the ad set ID
  • `{{adset.name}}` injects the ad set name
  • `{{ad.id}}` injects the ad ID
  • `{{ad.name}}` injects the ad name
  • `{{site_source_name}}` injects `ig` for Instagram, `fb` for Facebook, and `messenger` for Messenger

The last one is especially useful for multi-platform campaigns. One string covers every placement automatically.

Example: Building a tracking URL with {{site_source_name}}, {{campaign.name}}, {{ad.name}}

```

utm_source={{site_source_name}}&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}

```

Paste this into the URL Parameters field once. Meta fills in the correct values at serve time across every placement you run.

Best Practices for UTM Tracking

Avoid special characters in parameter values

No spaces, apostrophes, parentheses, or question marks in UTM values. Use hyphens or underscores instead. "Summer Sale 2025" becomes `summer-sale-2025`. Special characters break URLs and corrupt your reporting data.

Keep UTM values consistent across campaigns

Inconsistent naming fragments your analytics. Decide on naming conventions before launch. Document them in a shared spreadsheet. Stick to them across every campaign and every team member.

Use dynamic parameters to reduce manual errors

Typing campaign names by hand invites typos. Dynamic macros pull the exact name Meta already has on file. Use them for campaign name, ad set name, and ad name whenever possible.

Viewing and Exporting UTM Data

UTM-tagged clicks appear in Google Analytics under Acquisition. Filter by source, medium, and campaign to see which ad drove conversions. Your full attribution picture becomes clear within hours of campaign launch.

Inside Meta Ads Manager, the Insights tab surfaces UTM-segmented performance data. Export it as a CSV for deeper analysis in a spreadsheet or your data warehouse.

Coinis's Advertise page puts your live Meta campaign performance in one dashboard. The built-in CSV export pulls the same UTM-tagged data for offline analysis. When a campaign outperforms, use Coinis Revise (Variate) to generate creative alternatives and test them against the winner.

Common Mistakes to Avoid

Pasting UTMs into the destination URL. Meta strips them automatically. Use the URL Parameters field only.

Using spaces in UTM values. They break the URL. Use hyphens or underscores.

Skipping utm_content. Without it, you cannot tell which specific creative drove a conversion when multiple ads share one campaign.

Manually typing campaign names when dynamic macros exist. If you rename the campaign later, the static UTM stays wrong. Let `{{campaign.name}}` handle it.

Not testing before launch. Always click the ad preview URL. Confirm the parameters arrive on your landing page intact before spending a dollar.

Or let Coinis do it.

From a product URL to a live Meta campaign. AI-generated creatives. On-brand copy. Direct publish to Facebook and Instagram. Real performance reporting. All in one platform.

Start free. Upgrade when you're ready.

Start free →

15 AI tokens a month. No credit card.

Frequently Asked Questions

Where exactly do I enter UTM parameters in Meta Ads Manager?

Enter them in the URL Parameters field inside the Tracking section of your ad editor. Do not append them to the destination URL directly. Meta automatically strips parameters added to the destination URL.

What is {{site_source_name}} and when should I use it?

It is a Meta dynamic macro that automatically injects 'ig' for Instagram, 'fb' for Facebook, and 'messenger' for Messenger. Use it as your utm_source value when running ads across multiple placements so you don't need separate UTM strings for each platform.

Stop hustling

You just read the manual way. Coinis does it all.

Every step above takes hours of manual work. Coinis automates it. Free to start. No credit card. Pay only when you need more volume.

Steps 1–2

Goal + Audience

AI analyzes your brand from a URL. Targets the right buyers automatically.

Steps 3–4

Channels + Budget

One-click launch to Meta. Smart budget allocation out of the box.

Step 5

Ad Creatives

Paste a link. Get dozens of professional ads in minutes.

Steps 6–7

Launch + Track

Live dashboard. Real ROAS. AI suggests what to optimize next.

15 credits day one
No credit card
Free forever tier
Pay only for volume
Start free

You just learned the hard way. Here's the easy way.

Coinis generates ad creatives, launches campaigns, and tracks results. One platform. One click. No ad expertise required.

Try Coinis free