Параметры объявления
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Создать текстовое объявление с параметрами объявления для группы объявлений.
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); } }
Получить параметры объявления по ключевому слову
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()); }
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-08-21 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-08-21 UTC."],[[["\u003cp\u003eThe 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.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003esetupAdParamsInAdGroup\u003c/code\u003e creates a new expanded text ad with placeholders (\u003ccode\u003e{param1}\u003c/code\u003e, \u003ccode\u003e{param2}\u003c/code\u003e) and sets corresponding ad parameters for a keyword, enabling customized ad copy when that keyword triggers the ad.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003egetAdParamsForKeyword\u003c/code\u003e 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.\u003c/p\u003e\n"]]],[],null,["Create text ad with ad parameters for an ad group \n\n```gdscript\nfunction setupAdParamsInAdGroup(adGroupName) {\n // If you have multiple adGroups with the same name, this snippet will\n // pick an arbitrary matching ad group each time. In such cases, just\n // filter on the campaign name as well:\n //\n // AdsApp.adGroups()\n // .withCondition('ad_group.name = \"INSERT_ADGROUP_NAME_HERE\"')\n // .withCondition('campaign.name = \"INSERT_CAMPAIGN_NAME_HERE\"')\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${adGroupName} found`);\n }\n const adGroup = adGroupIterator.next();\n\n adGroup.newAd().expandedTextAdBuilder()\n .withHeadlinePart1('Holiday sale')\n .withHeadlinePart2(\n 'Starts in {param1: a few} days {param2: and} hours!')\n .withDescription('Everything must go!')\n .withFinalUrl('http://www.example.com/holidaysales')\n .build();\n\n const keywordIterator = adGroup.keywords().get();\n if (!keywordIterator.hasNext()) {\n console.log(`No keywords found in ad group ${adGroupName}.`);\n } else {\n const keyword = keywordIterator.next();\n // Setup Ad to show as 'Doors open in 5 days, 7 hours!' when searched\n // using this keyword. If the ad is triggered using a keyword\n // without ad param, the ad shows as\n // 'Doors open in a few days, and hours!'\n keyword.setAdParam(1, 5);\n keyword.setAdParam(2, 7);\n }\n}\n```\n\nGet ad parameters for a keyword \n\n```gdscript\nfunction getAdParamsForKeyword(adGroupName) {\n // If you have multiple adGroups with the same name, this snippet will\n // pick an arbitrary matching ad group each time. In such cases, just\n // filter on the campaign name as well:\n //\n // AdsApp.adGroups()\n // .withCondition('ad_group.name = \"INSERT_ADGROUP_NAME_HERE\"')\n // .withCondition('campaign.name = \"INSERT_CAMPAIGN_NAME_HERE\"')\n const adGroupIterator = AdsApp.adGroups()\n .withCondition(`ad_group.name = \"${adGroupName}\"`)\n .get();\n if (!adGroupIterator.hasNext()) {\n throw new Error(`No ad group with name \"${adGroupName} found`);\n }\n const adGroup = adGroupIterator.next();\n const keywordIterator = adGroup.keywords()\n .withCondition('ad_group_criterion.keyword.text = \"Holiday sales\"')\n .get();\n if (!keywordIterator.hasNext()) {\n console.log(`No keywords found in ad group ${adGroupName}.`);\n } else {\n const keyword = keywordIterator.next();\n const adParamIterator = keyword.adParams().get();\n for (const adParam of adParamIterator) {\n logAdParam(adParam);\n }\n }\n}\n\nfunction logAdParam(adParam) {\n console.log('Keyword : ' + adParam.getKeyword().getText());\n console.log('MatchType : ' + adParam.getKeyword().getMatchType());\n console.log('Index : ' + adParam.getIndex());\n console.log('Insertion Text : ' + adParam.getInsertionText());\n}\n```"]]