Free tool · Tracking
Bulk UTM builder with Google Ads and Meta presets
Where the click came from: google, facebook, newsletter
The channel: cpc, paid_social, email
Campaign name or ID
Keyword or audience (optional)
Which ad or link (optional)
Campaign ID for GA4 cost imports (optional)
Insert into utm_campaign:
Final URL suffix
utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}&utm_content={creative}
Paste in: Campaign settings → Campaign URL options → Final URL suffix. Set it once and every ad uses it, so you never edit landing page URLs.
Tagged URL
rehanjaved.com/google-ads-for-law-firms?utm_source=google&…
https://www.rehanjaved.com/google-ads-for-law-firms?utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_term={keyword}&utm_content={creative}
152 characters
Built in your browser. Never put UTMs on links between pages of your own site; they overwrite the original source.
The guide
Why every paid click should be tagged
Most of the businesses I work with sell a service, not a product. The ad brings a lead, and the money arrives weeks later when the lead becomes a client. If the lead lands in the CRM without a source, there's no way to connect that client back to the campaign that paid for them. You end up judging ads on form fills instead of revenue.
UTMs fix the first half of that. Every lead arrives with its source, campaign and, for Google Ads, the keyword. Once that's in the CRM, you can see which campaigns bring clients and which bring tyre-kickers, and feed real sales back to the ad platforms. That loop is a big part of the full-funnel tracking work I do.
The problem with most UTM builders is that they tag one link at a time and let you type anything. Six months later the reports show "Facebook", "facebook", "fb" and "meta" as four sources. This builder works in bulk, starts from presets that follow one naming convention, and cleans values as you type.
The presets, explained
Google Ads
source google, medium cpc, campaign {campaignid}, term {keyword}, content {creative}. Paste the suffix into Final URL suffix at account or campaign level. Google fills in the IDs and keyword at click time.
Meta Ads
source facebook, medium paid_social, and Meta's dynamic names for campaign, ad set and ad. Paste it into the URL parameters field on each ad. Names change when you rename things in Ads Manager, so keep names readable.
source newsletter, medium email, one campaign per send, and utm_content per link (hero button, footer link) so you can see which link was clicked.
The medium values matter more than people think. GA4 sorts traffic into channels using rules, and it recognises values like cpc, paid_social, email, display and referral. Make up your own, such as "fb-ads", and the visits can end up in "Unassigned". The tool warns you when a medium is one GA4 may not recognise.
A naming convention that holds up
The tool can only keep values tidy. The convention is up to you, and the best one is the one your whole team will actually use. Here's the one I start clients on. Source is the platform, in lowercase: google, facebook, instagram, bing, newsletter. Medium is the channel type GA4 understands: cpc for search ads, paid_social for Meta and LinkedIn ads, email, display, referral. Campaign is either the platform's campaign ID, filled in dynamically, or a short readable name with a date for one-off sends, such as 2026-10-open-house.
Term and content are where the detail goes. For search ads, term holds the keyword. For social ads, it can hold the ad set or audience. Content says which ad or which link. Write the convention in a shared document and paste it next to the presets; six months from now, it's the only thing that keeps reports readable.
How to tag in bulk
Pick a preset
It fills the fields with a consistent naming convention. Change anything you like.
Paste your URLs
One per line, up to 500. Existing query strings are kept, old UTMs are replaced, and #fragments move to the end where they belong.
Insert dynamic values
Click a field, then click a ValueTrack or Meta parameter chip to add it.
Read the warnings
Missing source, medium or campaign, unknown medium, mixed capitals and very long URLs are all flagged.
Copy or export
Copy all links, copy one, or download a CSV with the original and tagged URL side by side.
Test one click
Open a tagged link and check GA4's Realtime report or your CRM before you roll it out.
UTM mistakes that break reports
- UTMs on internal links. A tagged link from your home page to your contact page starts a new session and overwrites the real source. Only tag links that come from outside your site.
- Inconsistent capitals and spelling. Pick one convention, write it down and use presets.
- Turning off Google Ads auto-tagging because you added UTMs. Keep both; GA4 uses the gclid for cost and conversion data.
- Putting UTMs after a #fragment. Analytics can't read them there. The builder fixes the order for you.
- Redirects that drop parameters. Some sites strip the query string on redirect. Test a tagged link and check it arrives intact.
- Personal data in UTMs. Never put emails, names or phone numbers in a URL. It ends up in analytics and breaks Google's policies.
After the links are tagged
Tagged links tell you where leads came from. To know whether those leads are profitable, compare cost and revenue with the ROAS calculator, or work back from what a client is worth with the max CPC calculator. If you're still building the campaigns, the keyword grouping tool and negative keyword list generator come first.
If you'd like someone to check that your tracking holds up from click to closed deal, that's part of how I approach Google Ads management.
FAQ
UTM questions
What are UTM parameters?
Tags added to the end of a link, such as ?utm_source=google&utm_medium=cpc&utm_campaign=spring, that tell your analytics where a visit came from. GA4, most CRMs and form tools read them, so you can see which campaign, ad or email produced each lead.
Do I need UTMs on Google Ads if auto-tagging is on?
For Google Analytics, no: auto-tagging adds a gclid and GA4 reads the campaign data from it. I still add UTMs through the Final URL suffix, because CRMs, call tracking and form tools can’t read gclid, and they can read UTMs. Keep auto-tagging on as well.
What is the Final URL suffix?
A Google Ads setting that adds parameters to every ad’s landing page at click time. Set it at account or campaign level and you never have to edit individual URLs. Paste the suffix from this tool without the question mark.
What are ValueTrack parameters?
Placeholders in curly brackets that Google Ads fills in when someone clicks: {campaignid}, {adgroupid}, {keyword}, {matchtype}, {device} and more. Put them in UTM values and each lead arrives tagged with the exact campaign and keyword.
How do I add UTMs to Meta ads?
In the ad, under Destination, use the URL parameters field. Meta’s dynamic parameters such as {{campaign.name}}, {{adset.name}} and {{ad.name}} are replaced with the real names at click time. The Meta preset fills these in for you.
Should UTM values be lowercase?
Yes. GA4 treats "Facebook" and "facebook" as two different sources, which splits your reports. The tool forces lowercase by default and turns spaces into hyphens, but leaves {dynamic} placeholders exactly as the platforms expect.
Can I shorten the tagged links?
The preview shows how a long link reads at a glance; it isn’t a link shortener. If you need a short link for print or social, run the tagged URL through a shortener you control. Never shorten the Final URL suffix; Google needs the raw parameters.
More free tools
Can't tell which ads bring clients?
I'll look at how your leads are tracked from click to sale and tell you where the gaps are. The review is free.