Обновленные URL

Обновленные URL упрощают работу с веб-адресами в AdWords. Вы можете указать, какая часть URL относится к целевой странице, а какая – используется для отслеживания. Далее более подробно рассказывается об этой функции.

В настоящее время для определения того, какая часть пользователей перешла на сайт по объявлению, а также для кодирования дополнительной информации отслеживания используются целевые URL. Благодаря общим шаблонам отслеживания обновленные URL позволяют редактировать эту информацию, не инициируя проверку объявления.

В обновленных URL предусмотрены отдельные поля для адреса целевой страницы и данных отслеживания:

  • Конечный URL. Список фактических целевых страниц для объявления, ключевого слова или дополнительной ссылки. Это URL, который пользователь видит в адресной строке браузера после клика по объявлению.
  • Конечный мобильный URL. Список конечных мобильных URL для объявления, ключевого слова или дополнительной ссылки после всех междоменных переадресаций.
  • Конечный URL приложения. Список конечных URL приложения, которые будут использоваться на мобильных устройствах, если установлено определенное приложение.
  • Шаблон отслеживания. Шаблон, в котором можно указать дополнительные параметры отслеживания или переадресации. Этот шаблон добавляется в целевой URL, и получившийся в итоге адрес связывается с объявлением.
  • Специальные параметры. Параметры ValueTrack, которым вы можете назначить собственные идентификаторы.

Поддерживаемые объекты

В приведенной ниже таблице показано, какие поля обновленных URL поддерживаются в различных объектах AdWords.

Объект AdWords Конечный URL Конечный мобильный URL Конечный URL приложения Специальные параметры Шаблон отслеживания
Customer Флажок
Campaign Флажок Флажок
AdGroup Флажок Флажок
Ad Флажок Флажок Флажок Флажок Флажок
AdGroupCriterion Флажок Флажок Флажок Флажок Флажок
FeedItem (Sitelink) Флажок Флажок Флажок Флажок Флажок

Техническая информация

Конечный URL

Конечный URL представляет собой фактический адрес, на который ведет объявление, ключевое слово или дополнительная ссылка. Это URL, который пользователь видит в адресной строке браузера после клика по объявлению. Он не должен содержать никаких переадресаций за пределы домена.

Следующий пример кода на языке C# показывает, как создать текстовое объявление с конечными URL:

// Create the text ad.
TextAd textAd = new TextAd();
textAd.headline = "Luxury Cruise to Mars";
textAd.description1 = "Visit the Red Planet in style.";
textAd.description2 = "Low-gravity fun for everyone!";
textAd.displayUrl = "www.example.com";

// Specify a list of final URLs. This field cannot be set if URL field
// is set. This may be specified at ad, criterion and feed item levels.
textAd.finalUrls = new string[] {
   "http://www.example.com/cruise/space/"
};

// Specify a list of final mobile URLs. This field cannot be set if URL
// field is set, or finalUrls is unset. This may be specified at ad,
// criterion and feed item levels.
textAd.finalMobileUrls = new string[] {
    "http://mobile.example.com/cruise/space/"
};

AdGroupAd textAdGroupAd = new AdGroupAd();
textAdGroupAd.adGroupId = adGroupId;
textAdGroupAd.ad = textAd;

// Create your Ad.
...

Для конечных URL действуют те же правила переопределения, что и для целевых. Например, конечный URL на уровне ключевого слова имеет более высокий приоритет, чем конечный URL на уровне объявления.

К конечным URL также применяются все правила проверки, действующие для целевых URL. Конечные URL могут содержать теги – ValueTrack или специальные параметры. Для них доступно до четырех уровней вложенности:

{ifmobile:{ifsearch:{keyword:cp={_customP}}}}

В большинстве случаев достаточно указать один конечный или конечный мобильный URL. В редких случаях, когда шаблон отслеживания может перенаправлять пользователей на одну из нескольких целевых страниц (например, при их тестировании), минуя общую целевую страницу в домене рекламодателя, можно указать эти страницы, используя несколько конечных URL.

Конечные мобильные URL

Вы можете указать отдельный конечный URL для мобильных пользователей. Однако вместо этого поля можно использовать уже существующие параметры ValueTrack: {device} и {ifmobile}.

Конечные URL приложения

Если у вас есть объявления со ссылками на разделы приложений или с загрузкой по клику, можно указать эти адреса в поле конечного URL приложения.

Шаблон отслеживания

При желании вы также можете добавить дополнительные параметры отслеживания или переадресации, используя шаблон отслеживания. Если задан этот параметр, он будет использоваться вместо конечных URL для получения фактического целевого URL объявления. Сервис может отследить клик по объявлению и перенаправить пользователя на целевую страницу. Ее URL должен совпадать с конечным. Этот шаблон может подставлять конечный URL, используя специальные параметры ValueTrack, такие как {lpurl}.

Чтобы изменить параметры отслеживания для любого поддерживаемого объекта AdWords, кроме Ad, достаточно лишь обновить шаблон отслеживания. При этом объявление не передается на проверку, а следовательно, показ рекламы не прерывается. Чтобы изменить шаблон отслеживания для объекта Ad, необходимо удалить существующий объект Ad и создать вместо него другой, с новым шаблоном отслеживания.

Следующий пример кода на языке C# показывает, как настроить шаблон отслеживания на уровне кампании:

Campaign campaign = new Campaign();
campaign.id = 12345678;

// Specify a tracking URL for 3rd party tracking provider. You may
// specify one at customer, campaign, ad group, ad, criterion or
// feed item levels.
campaign.trackingUrlTemplate =
    "http://tracker.example.com/?season={_season}&promocode={_promocode}&u={lpurl}";

// Update your campaign.
...

Как и в случае конечных URL, шаблон отслеживания, заданный на более низком уровне, будет переопределять высшие. Например, шаблон на уровне кампании имеет более высокий приоритет, чем на уровне аккаунта.

Специальные параметры

Специальные параметры – это параметры ValueTrack, которые вы создаете сами. Это может быть полезно, если вы хотите присвоить им собственные идентификаторы (например, для распознавания ключевых слов). Раньше эти параметры приходилось задавать вручную в целевых URL ключевых слов. Теперь для этого достаточно указать для ключевого слова идентификатор, назначить специальный параметр, а затем добавить ссылку на него в конечный URL и/или шаблон отслеживания, как если бы вы использовали любой другой параметр ValueTrack.

Ниже приведен пример кода, добавляющего специальные параметры в кампанию. Предполагается, что шаблон URL отслеживания настроен следующим образом:

http://tracker.example.com/?season={_season}&promocode={_promocode}&u={lpurl}

(см. выше).

Campaign campaign = new Campaign();
campaign.id = 12345678;

// Since the tracking URL has two custom parameters, provide their
// values too. This can be provided at campaign, ad group, ad, criterion
// or feed item levels.
CustomParameter seasonParameter = new CustomParameter();
seasonParameter.key = "season";
seasonParameter.value = "spring";

CustomParameter promoCodeParameter = new CustomParameter();
promoCodeParameter.key = "promocode";
promoCodeParameter.value = "NYC123";

campaign.urlCustomParameters = new CustomParameters();
campaign.urlCustomParameters.parameters =
     new CustomParameter[] { seasonParameter, promoCodeParameter };

// Update your campaign.
...

Название специального параметра может содержать только буквы и цифры. В конечном URL и шаблоне отслеживания его необходимо указывать в скобках и с подчеркиванием в начале: {_promoCode}.

Как и в случае конечных URL, специальные параметры, заданные на более низком уровне, будут переопределять высшие. Для одного объекта можно указать до 3 специальных параметров. В ключе и значении должно быть не более 16 и 200 байт соответственно.

Новые параметры ValueTrack

В обновленных URL можно использовать следующие параметры ValueTrack:

  • {ignore}. Этот параметр можно вставить в конечный URL, чтобы указать, что последующая часть адреса не изменяет контент. Используйте этот параметр, чтобы сократить частоту сканирований URL.

    Допустим, у вас есть следующий URL:

    http://cars.example.com/sedan{ignore}?promocode=NYC123&udv={device}
    

    Он сигнализирует роботу Google, что контент страницы определяется только частью адреса http://cars.example.com/sedan и ее не нужно повторно сканировать при изменении промокода (promocode) или устройства ({device}).

  • {lpurl}, {lpurl+2}, {lpurl+3}. Эти параметры инициализируются с URL целевой страницы и шифруются в соответствии со стандартными спецификациями. Если вам нужен URL без шифрования, используйте {unescapedurl}, {unescapedurl+2} или {unescapedurl+3}. Эта возможность поддерживается только в URL отслеживания.

Подробнее о параметрах ValueTrack читайте в этой справочной статье.

Дополнительные ссылки поддерживают обновленные URL благодаря использованию атрибутов объекта FeedItem. Соответствующие метки-заполнители приведены ниже.

Тип метки-заполнителя Идентификатор Поле метки-заполнителя Тип данных Идентификатор
SITELINKS 1 FINAL URLS REPEATED_URL 5
FINAL MOBILE URLS REPEATED_URL 6
TRACKING TEMPLATE URL 7

Свойство urlCustomParameters объекта FeedItem позволяет задавать специальные параметры.

Отчеты

Шаблоны отслеживания, конечные URL, конечные мобильные URL и специальные параметры доступны в качестве атрибутов в различных отчетах по эффективности. Помните, что конечные URL и конечные мобильные URL будут представлены в отчете в виде списка значений, разделенных точкой с запятой:

http://www.example.com/cruise/space/;http://www.example.com/locations/mars/

Специальные параметры будут представлены в виде пар "ключ-значение", разделенных точкой с запятой:

{_season}=spring;{_promocode}=NYC123

Чтобы получить сводную статистику по фактическому конечному URL каждого показа, используйте отчет FINAL_URL_REPORT.

Подготовка к переходу на обновленные URL

Чтобы перевести существующие объекты на обновленные URL, очистите поля целевого URL и задайте нужные значения в соответствующих полях конечного URL. Однако этот способ не работает в случае объявлений – изменить их целевой URL невозможно. Вместо этого вам нужно будет использовать метод upgradeUrl службы AdGroupAdService. Обновление будет выполнено без потери имеющийся статистки по объявлениям.

AdGroupAdService adGroupAdService = (AdGroupAdService) user.GetService(
    AdWordsService.v201702.AdGroupAdService);

AdUrlUpgrade upgrade = new AdUrlUpgrade() {
  adId = adId,
  finalUrl = "http://example.com",
};
try {
  adGroupAdService.upgradeUrl(new AdUrlUpgrade[] { upgrade });
} catch (Exception ex) {
  throw new System.ApplicationException("Failed to upgrade ad.", ex);
}

Имейте в виду, что редактирование URL автоматически запускает повторную проверку объявления, ключевого слова или дополнительной ссылки.

При работе со старыми и новыми настройками помните о следующих важных моментах:

  • Специальные параметры и новые параметры ValueTrack не будут работать со старыми целевыми URL. Их можно использовать только в полях обновленных URL.
  • Шаблоны отслеживания не влияют на старые целевые URL. Они работают только в полях обновленных URL.
  • Шаблоны отслеживания на уровне аккаунта, кампании и группы объявлений должны включать {lpurl} или аналогичный тег.
  • На одном и том же уровне нельзя одновременно использовать новые и старые настройки. Однако это можно делать на разных уровнях иерархии. Настройки на более низком уровне будут иметь приоритет перед высшими. Например, если для группы объявлений заданы конечные URL, а для ключевых слов – целевые, последние будут иметь приоритет.

Подробнее читайте в разделе Переход на обновленные URL.

Изменение обновленных URL

В зависимости от типа объекта редактирование атрибутов обновленных URL может запустить процесс проверки. До ее окончания объявления показываться не будут.

Объект AdWords Конечный URL Конечный мобильный URL Конечный URL приложения Специальные параметры Шаблон отслеживания
Customer

Показ продолжается

Campaign

Показ продолжается

Показ продолжается

AdGroup

Показ продолжается

Показ продолжается

Criterion

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

FeedItem

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

Ad

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

Показ останавливается

Примеры кода

В папке AdvancedOperations своей клиентской библиотеки вы найдете пример настройки обновленных URL.

Библиотека Пример AddTextAdWithUpgradedUrls
Java AddTextAdWithUpgradedUrls.java
Perl add_text_ad_with_upgraded_urls.pl
PHP AddTextAdWithUpgradedUrls.php
Python add_text_ad_with_upgraded_urls.py
Ruby add_text_ad_with_upgraded_urls.rb
.NET (C#) AddTextAdWithUpgradedUrls.cs
.NET (VB) AddTextAdWithUpgradedUrls.vb

Переход на обновленные URL

Остальная часть руководства посвящена переходу на новый формат URL при использовании AdWords API.

Обновление будет выполнено автоматически в июле 2015 года при условии, что у ваших целевых и отображаемых URL один домен. Если домен отличается, показ объявлений будет прекращен до тех пор, пока вы вручную не обновите URL.

Если вы используете стороннее решение для отслеживания кликов или управления кампаниями, при переходе на обновленные URL рекомендуем обратиться в службу поддержки этого сервиса или воспользоваться его справочными ресурсами.

Поиск целевых URL, нуждающихся в обновлении

Кандидаты на обновление – активные и приостановленные объявления с целевым URL (за исключением динамических поисковых объявлений, рекламных сообщений Gmail и лайтбоксов). Чтобы найти такие объявления, отправьте следующий запрос:

AdGroupAdPage page = adGroupAdService.query("Select AdGroupId, Id where " +
    "Url starts_with 'http' and Status in [ENABLED, PAUSED]");

Для критериев можно использовать следующий запрос:

AdGroupCriterionPage page = adGroupCriterionService.query("SELECT AdGroupId, Id where " +
    "DestinationUrl starts_with 'http' and Status in [ENABLED, PAUSED]");

Для расширений нет фильтров URL, поэтому вам придется извлечь все активные элементы фида и самостоятельно найти поле URL.

Скачивание объектов

Чтобы перевести аккаунт на обновленные URL, сначала извлеките следующие объекты:

Объявления

AdGroupAdService service =
    (AdGroupAdService) user.GetService(AdWordsService.v201702.AdGroupAdService);

AdGroupAdPage page = service.query("Select AdGroupId, Id, Url where " +
    "Status in [ENABLED, PAUSED]");

Критерии

AdGroupCriterionService service = (AdGroupCriterionService) user.GetService(
    AdWordsService.v201702.AdGroupCriterionService);

AdGroupCriterionPage page = service .query("Select AdGroupId, Id, " +
    "DestinationUrl where Status in [ENABLED, PAUSED]");
CampaignExtensionSettingService service = (CampaignExtensionSettingService)
    user.GetService(AdWordsService.v201702.CampaignExtensionSettingService);

CampaignExtensionSettingPage page = service.query(
    "Select CampaignId, Extensions where ExtensionType=SITELINK");

Группировка по кампаниям или группам объявлений упрощает процесс обновления. Ссылки на примеры кода вы найдете в конце этой статьи.

Типы URL

Все целевые URL в AdWords можно условно разбить на два типа:

Тип 1 Тип 2
Описание Отслеживание не используется. Вы используете параметры или сервер отслеживания либо осуществляете переадресацию в другой домен.
Примеры URL http://example.com/shoes
http://example.com/dresses?color=red
http://example.com/shoes?color=red&kwid=12345&ad={creative}
http://tracker.example.com/redir?kwid=12345&ad={creative}&url=http%3A%2F%2Fwww.example.com%2Fshoes%3Fcolor%3Dred

Стратегии обновления

Для обоих типов URL мы предлагаем три стратегии обновления.

Стратегия 1 Стратегия 2 Стратегия 3
Краткое описание Копирование целевого URL в поле конечного URL. Целевой URL разделяется на две части: данные отслеживания и адрес целевой страницы. Данные отслеживания копируются в шаблон URL отслеживания, а URL целевой страницы – в поле конечного URL. Целевой URL разделяется на две части: данные отслеживания и адрес целевой страницы. Определяются общие параметры, которые затем используются для настройки общего шаблона отслеживания и специальных параметров. URL целевой страницы копируется в поле конечного URL.
Тип объектов Типы 1 и 2 Тип 2 Тип 2
Преимущества во время обновления
Сохраняется прошлая статистика по эффективности объявлений Флажок Флажок Перечеркнутый круг
Не запускается процесс проверки объявлений, ключевых слов или дополнительных ссылок Флажок Флажок Перечеркнутый круг
Преимущества после обновления
Более низкая нагрузка на веб-сайт, когда новые объявления и ключевые слова проходят проверку Перечеркнутый круг Флажок Флажок
Централизованное управление URL-адресами отслеживания Перечеркнутый круг Перечеркнутый круг Флажок
При изменении общего шаблона URL отслеживания статистика по эффективности объявлений не сбрасывается, а показ рекламы не прерывается Перечеркнутый круг Перечеркнутый круг Флажок
Возможность добавления новых параметров ValueTrack и специальных параметров в процессе перехода Да (с проверкой) Да (с проверкой) Да (с проверкой)

Рассмотрим каждую стратегию более подробно.

Стратегия 1: прямое копирование

Эта стратегия рекомендуется для объектов первого типа. Целевой URL копируется в поле конечного URL, после чего поле "Целевой URL" очищается.

Объявления

Целевые URL объявлений нельзя изменить, поэтому вам нужно будет использовать следующий метод:

List<AdUrlUpgrade> operations = new List<AdUrlUpgrade>();
foreach (AdGroupAd adGroupAd in page.entries) {
  AdUrlUpgrade upgradeUrl = new AdUrlUpgrade();
  upgradeUrl.adId = adGroupAd.ad.id;
  upgradeUrl.finalUrl = adGroupAd.ad.url;
  operations.Add(upgradeUrl);
}
service.upgradeUrl(operations.ToArray());

В этом случае обновление объявлений не приведет к утрате накопленной статистики.

Критерии

foreach (AdGroupCriterion adGroupCriterion in page.entries) {
  if (adGroupCriterion is BiddableAdGroupCriterion) {
    BiddableAdGroupCriterion biddableAdGroupCriterion =
       (BiddableAdGroupCriterion) adGroupCriterion;
    biddableAdGroupCriterion.finalUrls = new UrlList() {
      urls = new string[] {
        biddableAdGroupCriterion.destinationUrl
      }
    };
    biddableAdGroupCriterion.destinationUrl = null;

    AdGroupCriterionOperation operation = new AdGroupCriterionOperation() {
      @operator = Operator.SET,
      operand = biddableAdGroupCriterion
    };
    operations.Add(operation);
  }
}
service.mutate(operations.ToArray());
List<CampaignExtensionSettingOperation> operations =
    new List<CampaignExtensionSettingOperation>();
foreach (CampaignExtensionSetting campaignExtensionSetting in page.entries) {
  foreach (ExtensionFeedItem feedItem in
      campaignExtensionSetting.extensionSetting.extensions) {
    if (feedItem is SitelinkFeedItem) {
      SitelinkFeedItem sitelinkFeedItem = (SitelinkFeedItem) feedItem;
      if (String.IsNullOrWhiteSpace(sitelinkFeedItem.sitelinkUrl)) {
        sitelinkFeedItem.sitelinkUrl = null; //No update to this field
      } else {
        sitelinkFeedItem.sitelinkFinalUrls = new string[] {
          sitelinkFeedItem.sitelinkUrl
        };
        sitelinkFeedItem.sitelinkUrl = "";
      }
    }
  }
  CampaignExtensionSettingOperation operation =
      new CampaignExtensionSettingOperation() {
    operand = campaignExtensionSetting,
    @operator = Operator.SET
  };
  operations.Add(operation);
}
service.mutate(operations.ToArray());

Стратегия 2: использование шаблона URL отслеживания

Эта стратегия может применяться для обновления объектов второго типа без использования общих шаблонов отслеживания и специальных параметров ValueTrack. Такой способ предпочтителен, когда параметры отслеживания остаются неизменными в течение всего срока проведения кампании.

Анализ URL

Сначала разделите целевой URL на шаблон отслеживания и адрес целевой страницы. Вставьте {lpurl} в шаблон отслеживания на то место, где раньше в целевом URL был URL целевой страницы.

Целевой URL Шаблон отслеживания Целевая страница
http://example.com/shoes?color=red&kwid=12345&ad={creative} {lpurl}&kwid=12345&ad={creative} http://example.com/shoes?color=red.
http://tracker.example.com/redir?kwid=12345&ad={creative}&url= http%3A%2F%2Fwww.example.com%2Fshoes%3Fcolor%3Dred http://tracker.example.com/redir?kwid=12345&ad={creative}&url={lpurl} http://example.com/shoes?color=red.

Обновление объектов

Теперь вы можете обновить эти объекты точно так же, как и при использовании стратегии 1. Дополнительно вам нужно будет указать в качестве шаблона отслеживания объекта новый шаблон URL отслеживания:

Объявления
List operations = new List();
foreach (AdGroupAd adGroupAd in page.entries) {
  AdUrlUpgrade upgradeUrl = new AdUrlUpgrade();
  upgradeUrl.adId = adGroupAd.ad.id;
  upgradeUrl.finalUrl = landingPageUrl;

  upgradeUrl.trackingUrlTemplate = trackingUrlTemplate;
  operations.Add(upgradeUrl);
}
service.upgradeUrl(operations.ToArray());
Критерии
foreach (AdGroupCriterion adGroupCriterion in page.entries) {
  if (adGroupCriterion is BiddableAdGroupCriterion) {
    BiddableAdGroupCriterion biddableAdGroupCriterion =
       (BiddableAdGroupCriterion) adGroupCriterion;
    biddableAdGroupCriterion.finalUrls = new UrlList() {
      urls = new string[] {
        landingPageUrl
      }
    };
    biddableAdGroupCriterion.destinationUrl = null;

    biddableAdGroupCriterion.trackingUrlTemplate = trackingUrlTemplate;

    AdGroupCriterionOperation operation = new AdGroupCriterionOperation() {
      @operator = Operator.SET,
      operand = biddableAdGroupCriterion
    };
    operations.Add(operation);
  }
}
service.mutate(operations.ToArray());
List operations =
    new List();
foreach (CampaignExtensionSetting campaignExtensionSetting in page.entries) {
  foreach (ExtensionFeedItem feedItem in
      campaignExtensionSetting.extensionSetting.extensions) {
    if (feedItem is SitelinkFeedItem) {
      SitelinkFeedItem sitelinkFeedItem = (SitelinkFeedItem) feedItem;

      sitelinkFeedItem.sitelinkFinalUrls = new string[] {
        landingPageUrl
      };
      sitelinkFeedItem.sitelinkUrl = null;
      sitelinkFeedItem.sitelinkTrackingUrlTemplate = trackingUrlTemplate;
    }
  }
  CampaignExtensionSettingOperation operation =
      new CampaignExtensionSettingOperation() {
    operand = campaignExtensionSetting,
    @operator = Operator.SET
  };
  operations.Add(operation);
}
service.mutate(operations.ToArray());

Стратегия 3: использование общего шаблона отслеживания

Эта стратегия подходит для обновления объектов второго типа с использованием общих шаблонов отслеживания и специальных параметров ValueTrack. Такой способ рекомендуется, если вы работаете с одним или несколькими сторонними серверами отслеживания или ваши параметры отслеживания регулярно меняются.

Анализ URL

Сначала разделите целевой URL на две части: шаблон отслеживания и адрес целевой страницы.

Целевой URL Шаблон отслеживания Целевая страница
http://example.com/shoes?color=red&kwid=12345&ad={creative} {lpurl}&kwid=12345&ad={creative} http://example.com/shoes?color=red.
http://tracker.example.com/redir?kwid=12345&ad={creative}&url=http%3A%2F%2Fwww.example.com%2Fshoes%3Fcolor%3Dred http://tracker.example.com/redir?kwid=12345&ad={creative}&url={lpurl} http://example.com/shoes?color=red.

Затем найдите URL и параметры отслеживания, пригодные для многократного использования, в шаблоне отслеживания. В зависимости от структуры аккаунта ищите эти значения на уровне группы объявлений, кампании или аккаунта.

Шаблон отслеживания URL отслеживания Параметры отслеживания
{lpurl}&kwid=12345&ad={creative}   kwid=
ad=
http://tracker.example.com/redir?kwid=12345&ad={creative}&url={lpurl} http://tracker.example.com/redir kwid=
ad=
url=

Определите специальные параметры, которые будут иметь значения каждого параметра отслеживания (не забудьте о начальном символе подчеркивания).

Специальный параметр Значение
_kwid 12345
_ad {creative}

Добавьте новые специальные параметры в шаблон отслеживания.

Целевой URL Шаблон отслеживания Специальные параметры Parameter values Целевая страница
http://example.com/shoes?color=red&kwid=12345&ad={creative} {lpurl}&kwid={_kwid}&ad={_ad} _kwid 12345 http://example.com/shoes?color=red
_ad {creative}
http://tracker.example.com/redir?kwid=12345&ad={creative}&url=http%3A%2F%2Fwww.example.com%2Fshoes%3Fcolor%3Dred http://tracker.example.com/redir?kwid={_kwid}&ad={_ad}&url={lpurl} _kwid 12345 http://example.com/shoes?color=red
_ad {creative}

Определение общего уровня

Определите иерархический уровень для каждого из общих объектов. Например, шаблон URL отслеживания может применяться на уровне кампании или аккаунта, а специальный параметр имеет смысл использовать на уровне ключевого слова. В нашем примере шаблон URL отслеживания и специальные параметры используются на уровне кампании.

Обновление объектов

Определив части целевого URL, пригодные для многократного использования, и их место в иерархии, можно приступать к настройке параметров в аккаунте.

Кампания
CampaignService service =
    (CampaignService) user.GetService(AdWordsService.v201702.CampaignService);

Campaign campaign = new Campaign();
campaign.id = 12345678;

// Specify a tracking URL for 3rd party tracking provider. You can
// specify one at customer, campaign, ad group, ad, criterion or
// feed item levels.
campaign.trackingUrlTemplate =
    "http://tracker.example.com/?kwid={_kwid}&ad={_ad}&url={lpurl}";

// Since your tracking URL has two custom parameters, provide their
// values too. This can be provided at campaign, ad group, ad, criterion
// or feed item levels.
CustomParameter seasonParameter = new CustomParameter();
seasonParameter.key = "kwid";
seasonParameter.value = "12345";

CustomParameter promoCodeParameter = new CustomParameter();
promoCodeParameter.key = "ad";
promoCodeParameter.value = "{creative}";

campaign.urlCustomParameters = new CustomParameters();
campaign.urlCustomParameters.parameters =
     new CustomParameter[] { seasonParameter, promoCodeParameter };

// Create the operation.
CampaignOperation operation = new CampaignOperation();
operation.@operator = Operator.SET;
operation.operand = campaign;

CampaignReturnValue retVal = service.mutate(new CampaignOperation[] { operation });
Объявления

Поскольку AdWords не может установить полный целевой URL объявления только по его шаблону URL отслеживания и конечному URL, метод upgradeUrl в данном случае неприменим. Вместо этого необходимо удалить старое объявление и создать новое. Оно будет подано на проверку, а сбор статистики начнется с нуля. Однако вам по-прежнему будут доступны данные по удаленному объявлению.

List operations = new List();

foreach (AdGroupAd adGroupAd in page.entries) {
  // Удалите существующее объявление.
  AdGroupAd adToDelete = new AdGroupAd() {
    adGroupId = adGroupAd.adGroupId,
    ad = new Ad() {
      id = adGroupAd.ad.id
    }
  };

  AdGroupAdOperation removeOperation = new AdGroupAdOperation() {
    operand = adToDelete,
    @operator = Operator.REMOVE
  };
  operations.Add(removeOperation);

  // Создайте копию объявления.
  AdGroupAd adToAdd = new AdGroupAd() {
    adGroupId = adGroupAd.adGroupId,
    ad = adGroupAd.ad
  };

  // Удалите идентификатор, чтобы это объявление воспринималось системой AdWords как новое.
  adToAdd.ad.idSpecified = false;

  // В качестве конечного URL укажите новый адрес целевой страницы.
  adToAdd.ad.finalUrls = new string[] {
    landingPageUrl
  };

  // Удалите целевой URL.
  adToAdd.ad.url = null;

  AdGroupAdOperation addOperation = new AdGroupAdOperation() {
    operand = adToAdd,
    @operator = Operator.ADD
  };
  operations.Add(addOperation);
}

service.mutate(operations.ToArray());
Критерии
foreach (AdGroupCriterion adGroupCriterion in page.entries) {
  if (adGroupCriterion is BiddableAdGroupCriterion) {
    BiddableAdGroupCriterion biddableAdGroupCriterion =
       (BiddableAdGroupCriterion) adGroupCriterion;
    biddableAdGroupCriterion.finalUrls = new UrlList() {
      urls = new string[] {
        landingPageUrl
      }
    };
    biddableAdGroupCriterion.destinationUrl = null;

    AdGroupCriterionOperation operation = new AdGroupCriterionOperation() {
      @operator = Operator.SET,
      operand = biddableAdGroupCriterion
    };
    operations.Add(operation);
  }
}
service.mutate(operations.ToArray());
List operations =
    new List();
foreach (CampaignExtensionSetting campaignExtensionSetting in page.entries) {
  foreach (ExtensionFeedItem feedItem in
      campaignExtensionSetting.extensionSetting.extensions) {
    if (feedItem is SitelinkFeedItem) {
      SitelinkFeedItem sitelinkFeedItem = (SitelinkFeedItem) feedItem;

      sitelinkFeedItem.sitelinkFinalUrls = new string[] {
        landingPageUrl
      };
      sitelinkFeedItem.sitelinkUrl = null;
    }
  }
  CampaignExtensionSettingOperation operation =
      new CampaignExtensionSettingOperation() {
    operand = campaignExtensionSetting,
    @operator = Operator.SET
  };
  operations.Add(operation);
}
service.mutate(operations.ToArray());

Мобильные URL

Вы можете указать отдельный конечный URL для мобильных пользователей в поле finalMobileUrls объекта. Можно также по-прежнему использовать существующие параметры ValueTrack: {device} и {ifmobile}.

Частичное обновление

Можно обновить одну часть аккаунта, не затрагивая остальные. Поля обновленного URL не влияют на объект, если его конечный URL не указан. Например, если вы настроите шаблон URL отслеживания на уровне кампании, но не обновите целевые URL объявлений в группе, он не будет влиять на эти объявления.

Несколько URL отслеживания

Если у вас несколько серверов отслеживания, можно использовать параметры {lpurl}, {lpurl+2} и {lpurl+3} для создания целевого URL. Кроме того, для тегов URL доступно до четырех уровней вложенности:

{ifmobile:{ifsearch:{keyword:cp={_customP}}}}

Отчеты

Вам нужно будет изменить свой код, чтобы в отчетах вместо столбца целевого URL использовались столбцы обновленного URL. Подробнее читайте в этом разделе.

Во всех случаях, кроме третьей стратегии, статистика по объявлениям не будет затронута. При использовании этой стратегии вам нужно будет удалить старые объявления и создать вместо них новые. Они будут поданы на проверку, а сбор статистики начнется с нуля. Однако вам по-прежнему будут доступны данные по удаленным объявлениям.

Примеры кода

Следующие примеры кода в клиентских библиотеках помогут вам успешно выполнить обновление.

Библиотека Примеры основных операций Пример UpgradeAdUrl
Java basicoperations UpgradeAdUrl.java
Perl basic_operations upgrade_ad_url.pl
PHP BasicOperations UpgradeAdUrl.php
Python basic_operations upgrade_ad_url.py
Ruby basic_operations upgrade_ad_url.rb
.NET (C#) BasicOperations UpgradeAdUrl.cs
.NET (VB) BasicOperations UpgradeAdUrl.vb

Оставить отзыв о...

Текущей странице
Нужна помощь? Обратитесь в службу поддержки.