改良版 URL 管理システム

改良版 URL 管理システムは、 AdWords の URL を効率的に管理できる機能です。URL のどの部分が ランディング ページに該当し、どの部分がトラッキングに使用されるかを 指定することができます。この機能について、これから詳しく説明します。

現在はリンク先 URL を使って、ユーザーが広告をクリックしたときに 最初に表示されるウェブサイトのページを指定し、広告掲載のきっかけとなった 広告クリックを判別するための追加情報をエンコードしています。 改良版 URL 管理システムでは、共有トラッキング テンプレートを使って、 URL に対するトラッキング情報を更新できます。この場合、Google による審査は発生しません。

改良版 URL 管理システムでは、URL のトラッキング部分とランディング ページ部分を 別々のフィールドで指定できます。

  • 最終ページ URL: 広告、キーワード、またはサイトリンクの実際のランディング ページの リストを表します。最終ページ URL には、ユーザーが広告をクリックした後でブラウザのアドレスバーに 最終的に表示される URL を指定する必要があります。
  • モバイルの最終ページ URL: 広告、キーワード、またはサイトリンクで、すべてのクロスドメイン リダイレクトの 後で表示できるモバイルの最終ページ URL のリストを表します。
  • アプリの最終リンク先 URL: ユーザーが特定のアプリをインストールしていた場合にモバイル端末で 使用される、アプリの最終リンク先 URL のリストを表します。
  • トラッキング テンプレート: 追加のトラッキング パラメータまたはリダイレクトを指定するための テンプレートです(省略可)。このテンプレートを使って、実際のリンク先 URL をまとめて広告に 関連付けます。
  • カスタム パラメータ: ValueTrack パラメータ(省略可)。独自の ID を 割り当てることができます。

サポートされるエンティティ

次の表は、さまざまな AdWords エンティティにおける改良版 URL 管理システムの個々のフィールドの サポート状況をまとめたものです。

AdWords エンティティ 最終ページ URL モバイルの最終ページ URL アプリの最終リンク先 URL カスタム パラメータ トラッキング テンプレート
購入者 チェックマーク
キャンペーン チェックマーク チェックマーク
広告グループ チェックマーク チェックマーク
広告 チェックマーク チェックマーク チェックマーク チェックマーク チェックマーク
広告グループの条件 チェックマーク チェックマーク チェックマーク チェックマーク チェックマーク
FeedItem(サイトリンク) チェックマーク チェックマーク チェックマーク チェックマーク チェックマーク

技術情報

最終ページ URL

最終ページ 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 確認ルールも、すべて最終ページ URL に 適用されます。最終ページ URL には URL タグを設定できます。すべてのタグを 有効な ValueTrack タグにするか、カスタム パラメータにする必要があります。URL タグを指定する場合、 以下のように 4 階層までネストできます。

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

ほとんどの場合、最終ページ URL またはモバイルの最終ページ URL は 1 つ指定する だけで済みます。ランディング ページをテストする場合など、トラッキング テンプレートに よってユーザーが複数のランディング ページのうちの 1 つにリダイレクトされ、広告主の ドメインにある通常のランディング ページを経由しないという特殊な状況では、複数の 最終ページ URL を使って複数のランディング ページを指定できます。

モバイルの最終ページ URL

モバイル端末のユーザーに別のランディング ページを表示する場合は、 モバイル用の最終ページ URL を別に用意することができます。ただし、 ValueTrack パラメータを使用する場合は、 このフィールドの代わりに既存の ValueTrack パラメータである {device}{ifmobile} を使用することができます。

アプリの最終リンク先 URL

ディープリンクを使ってアプリ内コンテンツに直接リンクする 広告がある場合、または Click-to-Download 広告がある場合には、 その URL をアプリの最終リンク先 URL フィールドで指定できます。

トラッキング テンプレート

追加する必要があるトラッキング パラメータやリダイレクトを、 トラッキング テンプレートを使って指定することもできます。このパラメータを指定した場合、 最終ページ URL ではなくトラッキング テンプレートを使用して、 広告に使用される実際のリンク先 URL がまとめられます。トラッキング サービスによってクリックをトラッキングし、 ユーザーをランディング ページにリダイレクトできます。ランディング ページの URL が最終ページ URL と 一致している必要があります。{lpurl} のような特殊な ValueTrack パラメータを 使うことで、このテンプレートに最終ページ URL を埋め込むことができます。

トラッキング テンプレートを更新するだけで、 Ad を除くサポート対象エンティティのトラッキング パラメータを変更できます。これによって、Google による審査が発生することはありません。 お客様の広告は中断なく引き続き掲載されます。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 パラメータを 作成できます。これは、キーワードの識別などに利用できる独自の ID を使用したい場合に 役立ちます。これまで、このようなパラメータはキーワードのリンク先 URL に ハードコーディングする必要がありました。今後は、通常の ValueTrack パラメータの場合と 同じように、キーワードに ID を指定し、各キーワードに対応するカスタム パラメータを 使用した後、最終ページ URL やトラッキング テンプレートでそのカスタム パラメータを参照することができます。

以下に、キャンペーンにカスタム パラメータを追加するサンプルコードを示しています。この コードでは、トラッキング 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 と同様に、下位エンティティのカスタム パラメータが 上位エンティティで指定された値よりも優先されます。1 つのエンティティに対して、 最大 3 個のカスタム パラメータを指定できます。キーは 16 バイト以下、値は 200 バイト以下に してください。

新しい ValueTrack パラメータ

改良版 URL 管理システムでは、次の ValueTrack パラメータを使用できます。

  • {ignore}: 最終ページ URL にこのパラメータを挿入することで、URL のそれ以後の 部分がコンテンツを変更しないように指定できます。このパラメータを使って、 URL に対するクロール処理の量を減らすことができます。

    たとえば、次の最終ページ URL を使用するとします。

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

    この URL は、ページのコンテンツが http://cars.example.com/sedan によってのみ 決定され、promocode が変更されたり、{device} の別のインスタンスが 作成されたりしても、ページを再クロールする必要がないことを Google に通知します。

  • {lpurl}{lpurl+2}{lpurl+3}: このパラメータは最終ページ URL で 初期化され、標準 URL 仕様に従ってエスケープされます。エスケープ されていない URL が必要な場合は、代わりに {unescapedurl}{unescapedurl+2}{unescapedurl+3} を使用できます。これはトラッキング URL のみでサポートされます。

Valuetrack パラメータの詳細については、ヘルプセンターの記事 をご覧ください。

サイトリンクでは、FeedItem 属性を使うことで 改良版 URL 管理システムがサポートされます。 関連するプレースホルダは以下のとおりです。

プレースホルダ タイプ ID プレースホルダ フィールド データタイプ ID
SITELINKS 1 FINAL URLS REPEATED_URL 5
FINAL MOBILE URLS REPEATED_URL 6
TRACKING TEMPLATE URL 7

FeedItem の urlCustomParameters プロパティを使って、カスタム パラメータを設定できます。

レポート

トラッキング テンプレート、最終ページ URL、モバイルの最終ページ URL、 カスタム パラメータは、さまざまな掲載結果レポートで属性として 利用できます。レポート内では、 次の例に示すように、最終ページ URL とモバイルの最終ページ URL がセミコロンで 区切られた値のリストとして示されることに注意してください。

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

同様に、カスタム パラメータもセミコロンで区切られた Key-Value ペア として返されます。

{_season}=spring;{_promocode}=NYC123

各インプレッションの有効な最終ページ URL で集計された統計情報を取得するには、 FINAL_URL_REPORT を使用します。

改良版 URL 管理システムに対応するための準備

既存のエンティティを更新して、改良版 URL 管理システムを利用するには、 リンク先 URL フィールドを消去し、その場所に適切な改良版 URL 管理システムのフィールドを 設定します。ただし、広告を作成した後で広告のリンク先 URL を更新することはできないため、 広告に関してはこの方法を使えません。広告で改良版 URL 管理システムを利用するには、 AdGroupAdServiceupgradeUrl メソッドを使用する必要があります。upgradeUrl メソッドを使用すると、 広告を維持したまま改良版 URL 管理システムに移行でき、過去の統計情報も失われません。

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 を変更すると、Google による審査が 発生することにご注意ください。

従来の設定と新しい設定を同時に扱うときには、以下の点にご注意ください。

  • カスタム パラメータと新しい ValueTrack パラメータは、従来のリンク先 URL では 使用できません。改良版 URL 管理システムのフィールドにのみ対応します。
  • トラッキング テンプレートは従来のリンク先 URL に対応しません。改良版 URL 管理システムのフィールドにのみ対応します。
  • アカウント レベル、キャンペーン レベル、広告グループレベルのトラッキング テンプレートには、{lpurl} またはそれに相当するタグを含める必要があります。
  • 従来の設定と新しい設定を同じレベルで混在させることはできません。ただし、 階層が異なるオブジェクト間では設定を混在させることができます。この場合、 下位の設定が上位の設定よりも優先されます。たとえば、広告グループ内の広告に 最終ページ URL が設定され、キーワードにリンク先 URL が設定されている場合、 キーワードのリンク先 URL が最終ページ URL よりも優先されます。

詳細については、改良版 URL 管理システムへの移行をご覧ください。

改良版 URL 管理システムの更新

エンティティの種類によっては、改良版 URL 管理システムの属性に変更すると Google の審査が発生し、審査が完了するまで広告が配信されなくなる 場合があります。

AdWords エンティティ 最終ページ URL モバイルの最終ページ URL アプリの最終リンク先 URL カスタム パラメータ トラッキング テンプレート
購入者 該当なし 該当なし 該当なし 該当なし

配信

キャンペーン 該当なし 該当なし 該当なし

配信

配信

広告グループ 該当なし 該当なし 該当なし

配信

配信

条件

停止

停止

停止

停止

停止

FeedItem

停止

停止

停止

停止

停止

広告

停止

停止

停止

停止

停止

コードサンプル

それぞれのクライアント ライブラリ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 管理システムへの移行

以降では、AdWords API を使用してリンク先 URL を改良版 URL 管理システムに 更新する方法について説明します。

今すぐ更新を行わない場合、リンク先 URL に表示 URL と異なる ドメインが含まれていなければ、2015 年 7 月以降にリンク先 URL が 自動的に更新されます。 リンク先 URL に異なるドメインが含まれている場合、URL を手動で 更新するまで広告の配信が停止されます。

自分で API 呼び出しを実行するだけでなく、サードパーティ製のクリック トラッカーや キャンペーン管理サービスを利用している場合は、サービス プロバイダに連絡して アップグレード サポートを利用するか、そのプラットフォームやサービスに関する ドキュメントを参照してください。

移行するリンク先 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 タイプの概要

AdWords のすべてのリンク先 URL は、次のどちらかのタイプに該当します。

タイプ 1 タイプ 2
説明 URL でのトラッキングを一切使用しません。 トラッキング パラメータまたはトラッキング サーバーを使用して広告の掲載結果を モニタリングします。または、別のドメインにリダイレクトします。
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 に対応する移行戦略が 3 種類用意されています。

戦略 1 戦略 2 戦略 3
概要 リンク先 URL を最終ページ URL にコピーします。 リンク先 URL をトラッキング部分とランディング ページ部分に分割します。 トラッキング部分はトラッキング URL テンプレートにコピーされ、ランディング ページ URL は最終ページ URL にコピーされます。 リンク先 URL をトラッキング部分とランディング ページ部分に分割します。 共通するパラメータが識別され、それを使って共有トラッキング テンプレートとカスタム パラメータが設定されます。ランディング ページ URL は 最終ページ URL にコピーされます。
適用タイプ タイプ 1、タイプ 2 タイプ 2 タイプ 2
アップグレード中の メリット
広告掲載結果データが維持される チェックマーク チェックマーク 禁止マーク
広告、キーワード、サイトリンクに対してポリシー審査が 発生しない チェックマーク チェックマーク 禁止マーク
アップグレード後に 利用できる機能
新規広告またはキーワード審査中のウェブサイトの負荷を削減 禁止マーク チェックマーク チェックマーク
URL トラッキングの一元管理 禁止マーク 禁止マーク チェックマーク
以後に共有トラッキング テンプレートを変更しても、広告掲載結果データのリセットや 広告配信の中断がない 禁止マーク 禁止マーク チェックマーク
アップグレードの際に、新しい ValueTrack パラメータやカスタム パラメータを 追加できる 可能(審査あり) 可能(審査あり) 可能(審査あり)

次に、それぞれの戦略について詳しく説明します。

戦略 1: 直接コピー

この移行戦略は、タイプ 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 テンプレートの使用

この移行戦略を使って、タイプ 2 のエンティティを移行できます。共有 トラッキング テンプレートやカスタム ValueTrack パラメータを利用せずに、 改良版 URL 管理システムに移行します。キャンペーンの期間中に一貫して トラッキング パラメータが静的である場合に、この戦略をおすすめします。

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: 共有トラッキング テンプレートの使用

この戦略を使用して、タイプ 2 のエンティティを移行できます。共有 トラッキング テンプレートとカスタム ValueTrack パラメータを使用します。サードパーティ製の トラッキング サーバーが 1 つ以上ある場合、またはトラッキング パラメータが定期的に変更される場合に、 この戦略をおすすめします。

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%2F shoes%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 トラッキング テンプレート カスタム パラメータ パラメータの値 ランディング ページ
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%2F www.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 });
広告

広告のトラッキング URL テンプレートと最終ページ URL フィールドだけでは広告の リンク先 URL を完全な形で推測できないため、upgradeUrl メソッドをこのケースで 使用することはできません。代わりに、古い広告を削除し、新しい広告を作成する 必要があります。そうすることで新しい広告の広告審査が発生し、統計情報がゼロから 開始されます。削除した広告の統計情報はそのまま 維持されます。

List operations = new List();

foreach (AdGroupAd adGroupAd in page.entries) {
  // Delete the existing ad.
  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);

  // Make a copy of the ad.
  AdGroupAd adToAdd = new AdGroupAd() {
    adGroupId = adGroupAd.adGroupId,
    ad = adGroupAd.ad
  };

  // Clear the ID to tell AdWords that this is a new ad.
  adToAdd.ad.idSpecified = false;

  // Set the final URL to the newly evaluated landing page URL.
  adToAdd.ad.finalUrls = new string[] {
    landingPageUrl
  };

  // Clear the destination 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 テンプレートの影響を受けません。

複数のトラッキング URL

トラッキング サーバーが複数ある場合、{lpurl}{lpurl+2}{lpurl+3} を使用してリンク先 URL を作成できます。 さらに以下のように、URL タグを指定するときに 4 階層まで ネストすることができます。

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

レポート

改良版 URL 管理システムに移行したら、レポートを取得するときにリンク先 URL 列 ではなく改良版 URL 管理システム列を使用するようにコードを更新する必要が あります。詳しくは、このセクションをご覧ください。

戦略 3 を使用する場合を除き、広告配信の統計情報はすべてのケースで そのまま残ります。戦略 3 を使用する場合、元の広告を削除して広告の新しいコピーを 作成する必要があります。その場合、新しい広告の広告審査が発生し、 統計情報がゼロにリセットされます。ただし、削除された広告の統計情報は そのまま残ります。

移行のコードサンプル

移行の際には、クライアント ライブラリに収録されている以下のコードサンプルを 参考にしてください。

ライブラリ 基本操作のサンプル 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

フィードバックを送信...

ご不明な点がありましたら、Google のサポートページをご覧ください。