HomeBlogAdWords Dynamic Parameters: A Sneaky Way to Double Your CTR

AdWords Dynamic Parameters: A Sneaky Way to Double Your CTR

Author: Jaclyn Jordan
Last Updated: December 4, 2022 | Paid Search Marketing

Ad text relevancy is important to keeping your audience engaged, and in some cases can dramatically improve key metrics like click-through rate (CTR). Whether it’s advertising your latest promotion, lowest sale price, or resonating with an audience interested in up-to-date stock prices, there are many scenarios when switching up your ad text is not only valuable but imperative.

Constantly updating ad text has its challenges. Keeping up with these updates can be time-consuming, especially for large accounts. Additionally, ad text updates are not always timely as they need to go through the Google review process which can take up to 24 hours. When a last-minute promotion only lasts a day, the update to your ad text can become moot as it may never reach the SERP. A great workaround to update ad copy in a timely manner is through utilizing dynamic parameters.

Not only can dynamic parameters expedite ad copy updates, but they can also improve key metrics in your account. On average, we have seen CTR double in ad groups where we’ve tested dynamic parameter implementation. One of our success stories lies with a gold buyer. The price of gold changes daily, and can greatly impact a consumer’s decision as to whether or not to sell their gold. As a test, we started pulling the daily gold price into our ad copy with a dynamic parameter.

The results were fantastic. Over one month, we saw CTR increase from 0.84% to 1.75%; a 107% improvement. What’s even better is that we saw conversions increase by 300%, indicating that the quality of the traffic sent to the site was high, and that visitors were farther down the decision-making funnel.

How to Set Up Dynamic Parameters in AdWords

Dynamic Parameters can be set up using an AdWords script. For the non-developers out there, we broke down the process:

  1. Select the ad group(s) where you would like to implement dynamic parameters. I would recommend starting with one to ensure everything’s pulling through correctly.
  2. Create a text ad within the selected ad group around the dynamic text that you’ll be pulling into the ad. Something like this:
google dynamic parameters

The parameter is set up similar to dynamic keyword insertion. Put a default number into the param in the event that there is not a value to pull through the script (in the example above, the default value is 10).

  1. Create a live Google doc where you will store your data. The doc should have 3 columns (or 4 if you’d like to test 2 parameters). It should look something like this:
how to use dynamic parameters

The param1 info is where you will update your data. In this case, we are changing the dog collar price to $5.50.

  1. Next, set up the AdWords script. Within AdWords, go to Bulk operations > Scripts
adwords dynamic parameters

And click the +Script button.

  1. Copy and paste the following script (update the highlighted section with the full link to your Google doc created in Step 3):

* Update Ad Params by Ad Groups
var SPREADSHEET_URL = “https://docs.google.com/ “;
var SET_PARAM1 = true;
var SET_PARAM2 = false;
var DATA_RANGE = ‘A:D’; // A – CampaignName, B – AdGroupName,
// C – Param1, D – Param2
function main() {
var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var allSheets = spreadsheet.getSheets();
var allData = [];
for(var i in allSheets) {
var sheet = allSheets[i];
var data = sheet.getRange(DATA_RANGE).getValues();
data.shift(); //get rid of headers
allData = allData.concat(data);
var allDataHash = {};
for(var i in allData) {
var row = allData[i];
if(row[0] === ”) { continue; }
var rowKey = [row[0],row[1]].join(‘~~!~~’);
allDataHash[rowKey] = { param1 : row[2], param2: row[3] };
var kwIter = AdWordsApp.keywords()
.withCondition(‘CampaignStatus = ENABLED’)
.withCondition(‘AdGroupStatus = ENABLED’)
.withCondition(‘Status = ENABLED’)
while(kwIter.hasNext()) {
var kw = kwIter.next();
var campName = kw.getCampaign().getName();
var adGroupName = kw.getAdGroup().getName();
var rowKey = [campName,adGroupName].join(‘~~!~~’);
if(allDataHash[rowKey]) {
if(SET_PARAM1) { kw.setAdParam(1, allDataHash[rowKey].param1); }
if(SET_PARAM2) { kw.setAdParam(2, allDataHash[rowKey].param2); }

  1. Authorize your script, and then run it! You can set up a schedule for your script to run daily, weekly, etc. to fit your needs.

And, voila! The result will load with your ad modified for how it is queried on the SERP:

dynamic parameters example

Key Takeaways

In our tests, AdWords dynamic parameters have proven to be an extremely effective and easy to way to improve your ad performance. Dynamic parameters:

  • Keep your ad text timely without the need for approval
  • Ensure that your ads are as relevant as possible to users
  • Increase click-through rate, conversion rate and Quality Score

Check out some more great AdWords scripts here.

Join 683,369 other marketers that receive our weekly newsletter!

google ads grader ad