Getting Started & General
Dynamic Keyword Insertion via URL Parameters in GoHighLevel
By Marnix Geerkens. Published 2021-01-22. Updated 2026-06-02.
GoHighLevel pages support dynamic keyword insertion using URL parameters. Add a placeholder like {{utm_keyword}} anywhere in your page copy, and GoHighLevel will automatically replace it with the value passed in the URL when a visitor arrives. This lets you personalize landing page headlines and body text based on the ad campaign, keyword, or source that brought the visitor.
Watch it, then build it
Get the full platform free for 30 days
That walkthrough runs on GoHighLevel. Start it free through RocketLauncher and you get 30 days instead of the usual 14, the whole platform unlocked, plus our setup help and a community of thousands of builders in 47+ countries.
30 days, not 14Full platform, nothing held backFree community and setup help
We earn a referral commission if you keep GoHighLevel after the trial. It never changes your price.
Summary. GoHighLevel's page builder supports URL parameter-based dynamic content, so the same funnel page can display different text depending on which link a visitor clicked. Place a UTM parameter placeholder in your page, share URLs with matching parameters, and the platform fills in the text automatically at load time. Common uses include personalizing pages for paid ad keywords, campaign names, or product categories.
What you will learn
- How to insert a UTM parameter placeholder into GoHighLevel page copy
- How to construct a URL that passes a dynamic value to the placeholder
- How pages appear when no parameter is present versus when one is provided
- Practical use cases beyond paid ads: campaign names, product variants, promotion codes
- How to place the same placeholder in multiple spots on one page for consistency
Steps
Open the page in the GoHighLevel builder
Navigate to the funnel or website page you want to personalize and open it in the editor.
Add the placeholder to your copy
In any text element, type the UTM parameter name wrapped in double curly braces, for example {{utm_keyword}}. Place it wherever you want the dynamic word or phrase to appear.
Save the page
Save your changes. The placeholder will be invisible when the page loads without a matching URL parameter.
Build the URL with the parameter
Append the parameter to your page URL, for example: yourpage.com/landing?utm_keyword=GoHighLevel. When a visitor arrives via this URL, the placeholder is replaced with 'GoHighLevel'.
Test in the browser
Open the URL with and without the parameter to confirm the text appears correctly with the parameter and stays blank (or shows nothing) without it.
Pass parameters through your ad platform
In Google Ads, Meta Ads, or any other platform, set the final URL to include the parameter dynamically so each keyword or ad group passes its own value.
Tips
- You can use the same placeholder in multiple locations on the same page and all instances will update together.
- Use utm_keyword for search ads, utm_campaign for campaign-level personalization, or any custom parameter name you choose.
- If a visitor arrives without the parameter, the placeholder text simply does not render. Plan your copy so the sentence still reads naturally without it.
Related tutorials
Watch it, then build it
Get the full platform free for 30 days
30 days, not 14Full platform, nothing held backFree community and setup help
Frequently asked questions
What placeholder format does GoHighLevel use for dynamic keyword insertion?
Double curly braces around the parameter name, like {{utm_keyword}}.
Does it only work with UTM parameters?
No. Any custom URL parameter name works as long as the placeholder matches it exactly.
What shows on the page if no parameter is passed in the URL?
The placeholder renders as blank. The surrounding text displays normally.
Can I use dynamic insertion in headlines as well as body text?
Yes. The placeholder works in any text element in the GoHighLevel builder.






