Ad Params
Stay organized with collections
Save and categorize content based on your preferences.
Create text ad with ad parameters for an ad group
function setupAdParamsInAdGroup(adGroupName) {
// If you have multiple adGroups with the same name, this snippet will
// pick an arbitrary matching ad group each time. In such cases, just
// filter on the campaign name as well:
//
// AdsApp.adGroups()
// .withCondition('ad_group.name = "INSERT_ADGROUP_NAME_HERE"')
// .withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${adGroupName} found`);
}
const adGroup = adGroupIterator.next();
adGroup.newAd().expandedTextAdBuilder()
.withHeadlinePart1('Holiday sale')
.withHeadlinePart2(
'Starts in {param1: a few} days {param2: and} hours!')
.withDescription('Everything must go!')
.withFinalUrl('http://www.example.com/holidaysales')
.build();
const keywordIterator = adGroup.keywords().get();
if (!keywordIterator.hasNext()) {
console.log(`No keywords found in ad group ${adGroupName}.`);
} else {
const keyword = keywordIterator.next();
// Setup Ad to show as 'Doors open in 5 days, 7 hours!' when searched
// using this keyword. If the ad is triggered using a keyword
// without ad param, the ad shows as
// 'Doors open in a few days, and hours!'
keyword.setAdParam(1, 5);
keyword.setAdParam(2, 7);
}
}
Get ad parameters for a keyword
function getAdParamsForKeyword(adGroupName) {
// If you have multiple adGroups with the same name, this snippet will
// pick an arbitrary matching ad group each time. In such cases, just
// filter on the campaign name as well:
//
// AdsApp.adGroups()
// .withCondition('ad_group.name = "INSERT_ADGROUP_NAME_HERE"')
// .withCondition('campaign.name = "INSERT_CAMPAIGN_NAME_HERE"')
const adGroupIterator = AdsApp.adGroups()
.withCondition(`ad_group.name = "${adGroupName}"`)
.get();
if (!adGroupIterator.hasNext()) {
throw new Error(`No ad group with name "${adGroupName} found`);
}
const adGroup = adGroupIterator.next();
const keywordIterator = adGroup.keywords()
.withCondition('ad_group_criterion.keyword.text = "Holiday sales"')
.get();
if (!keywordIterator.hasNext()) {
console.log(`No keywords found in ad group ${adGroupName}.`);
} else {
const keyword = keywordIterator.next();
const adParamIterator = keyword.adParams().get();
for (const adParam of adParamIterator) {
logAdParam(adParam);
}
}
}
function logAdParam(adParam) {
console.log('Keyword : ' + adParam.getKeyword().getText());
console.log('MatchType : ' + adParam.getKeyword().getMatchType());
console.log('Index : ' + adParam.getIndex());
console.log('Insertion Text : ' + adParam.getInsertionText());
}
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-03-14 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2022-03-14 UTC."],[[["The provided code snippets demonstrate how to create and manage ad parameters within Google Ads, allowing for dynamic text insertion in ads based on specific keywords."],["`setupAdParamsInAdGroup` creates a new expanded text ad with placeholders (`{param1}`, `{param2}`) and sets corresponding ad parameters for a keyword, enabling customized ad copy when that keyword triggers the ad."],["`getAdParamsForKeyword` retrieves and logs the ad parameters associated with a specific keyword within a given ad group, showcasing how to access and utilize these parameters for analysis or reporting."]]],[]]