Page Summary
-
Ad parameters can be used to customize text ads based on the triggering keyword.
-
The
setupAdParamsInAdGroupfunction demonstrates how to create an expanded text ad with ad parameters and set these parameters for a specific keyword within an ad group. -
The
getAdParamsForKeywordfunction shows how to retrieve and log the ad parameters associated with a keyword in a given ad group. -
When an ad with parameters is triggered by a keyword without associated ad parameters, the default text within the curly braces will be displayed.
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 ()); }

