動的検索広告

動的検索広告(DSA)を使うと、あらゆるパターンを網羅するようなキーワードや広告コピーを作成しなくても、ウェブサイト全体(または一部)をターゲットに設定できます。さらに、ユーザーが関連性のある検索を行うと、検索語句に基づいた見出しや、最も関連性の高いランディング ページに基づいたテキストが含まれる広告が動的に生成されます。このような広告は、通常の広告と同じようにオークションにかけられ、掲載候補になります。そのため、既存のキーワード キャンペーンに変更を加えることなく、商品やサービスをより多くのユーザーにアピールして成果を高めることができます。

また動的検索広告は、ウェブサイトやドメイン全体を広範囲に対象にできるほか、既存のキャンペーンやキーワードのバックアップとして、またあらゆる状況に対応する優れた広告として活用できます。キーワード、広告グループ、広告コピーを通常どおり設定した後に動的検索広告を追加すると、既存のキャンペーン設定に一致しない検索語句をできるだけ多くカバーできるようになります。

ここでは、AdWords API を使って動的検索広告を作成し使用する手順について説明します。すべての例は Java で記述されていますが、他の言語やクライアント ライブラリに簡単に移行できます。

動的検索広告を作成する

AdWords API で動的検索広告を使うには、次の 3 つの基本手順を踏む必要があります。

  1. キャンペーンを設定して、キャンペーンのドメインを指定する。
  2. 動的検索広告を 1 つ以上作成する。
  3. キャンペーンで動的検索広告を表示する条件を 1 つ以上指定する。

ドメインを指定する

キャンペーンで動的検索広告を使うには、まず、動的検索広告を機能させるドメインを指定します。ドメインを指定するには、Campaign オブジェクトの settings プロパティで、DynamicSearchAdsSetting オブジェクトを設定します。

以下の例では、GeoTargetTypeSettingDynamicSearchAdsSetting の値を指定してキャンペーンを作成しています。

// Create campaign.
Campaign campaign = new Campaign();

// ... Set up general campaign parameters ...

// Set up DynamicSearchAdsSetting object.
DynamicSearchAdsSetting dsas = new DynamicSearchAdsSetting();
dsas.domainName = "example.org";
dsas.languageCode = "en";

// Set geo match option.
GeoTargetTypeSetting geoTarget = new GeoTargetTypeSetting();
geoTarget
 .setPositiveGeoTargetType(GeoTargetTypeSettingPositiveGeoTargetType.DONT_CARE);

// Add these to the campaign.
campaign.setSettings(new Setting[] { geoTarget, dsas });

// Create operation.
CampaignOperation operation = new CampaignOperation();
operation.setOperand(campaign);
operation.setOperator(Operator.ADD);
CampaignOperation[] operations = new CampaignOperation[] { operation };

// Add campaigns.
CampaignReturnValue result = campaignService.mutate(operations);

キャンペーンの動的検索広告を無効にする

キャンペーン全体を一時停止することなく、キャンペーン単位で動的検索広告を無効にできます。DynamicSearchAdsSetting の値を更新して、domainName"-" に設定するだけです。ただし、言語コードの指定は必要です。

// Turn off DSAs for campaign with id = campaignId.
Campaign campaign = new Campaign();
campaign.setId(campaignId);

// Disable DSAs.
DynamicSearchAdsSetting dsas = new DynamicSearchAdsSetting();
dsas.domainName = "-";
dsas.languageCode = "en";

// Create operation.
CampaignOperation operation = new CampaignOperation();
operation.setOperand(campaign);
operation.setOperator(Operator.SET);
CampaignOperation[] operations = new CampaignOperation[] { operation };

// Update campaign.
CampaignReturnValue result = campaignService.mutate(operations);

動的検索広告を作成する

続いて、DynamicSearchAd オブジェクトを作成します。広告見出しはユーザーの検索語句に基づいて自動的に挿入されますが、description1description2displayUrl フィールドは入力が必要です。

// Create DSA. somewhere above we got adGroupId for our ad group.
DynamicSearchAd dsa = new DynamicSearchAd();
dsa.setDescription1("Visit the Red Planet in style.");
dsa.setDescription2("Low-gravity fun for everyone!");
dsa.setDisplayUrl("www.example.org/marscruise");

// Create ad group ad.
AdGroupAd adGroupAd = new AdGroupAd();
adGroupAd.setAdGroupId(adGroupId);
adGroupAd.setAd(dsa);
adGroupAd.setStatus(AdGroupAdStatus.PAUSED);

// Create operation.
AdGroupAdOperation adGroupAdOperation = new AdGroupAdOperation();
adGroupAdOperation.setOperand(adGroupAd);
adGroupAdOperation.setOperator(Operator.ADD);
AdGroupAdOperation[] operations = new AdGroupAdOperation[] { adGroupAdOperation };

// Add the ad.
AdGroupAdReturnValue result = adGroupAdService.mutate(operations);

動的検索広告の finalUrls フィールドは、動的検索広告の作成時に自動計算されます。そのため、動的検索広告の作成時にはこのフィールドを設定できません。URL トラッキング ソフトウェアを使うには、trackingUrlTemplate フィールドを使って、必要な追加のトラッキング パラメータまたはリダイレクトを指定します。このフィールドを指定する際は、次のパラメータを 1 つ以上含めて、結果として一致する最終ページ URL を挿入できるようにする必要があります。

パラメータ 説明
{unescapedlpurl}

エスケープされていないランディング ページ URL(末尾にデータを追加する場合)。例:

{unescapedlpurl}?dsa=true

{escapedlpurl}

エスケープされた(URL エンコードされた)ランディング ページ URL(トラッカーにリダイレクトする場合)。例:

http://tracking.com/lp={escapedurl}

{lpurlpath}

計算された URL からのパスと検索語句のパラメータ。例:

http://tracking.com.com/track/{lpurlpath}

{lpurl}

ランディング ページ URL の「?」 と「=」をエンコードし、検索語句で終了します。trackingUrlTemplate フィールドの先頭にある場合、実際には {unescapedurl} の値で置き換えられます。例:

http://tracking.com/redir.php?tracking=xyz&url={lpurl}

例:

DynamicSearchAd dsa = new DynamicSearchAd();
dsa.setDescription1("Visit the Red Planet in style.");
dsa.setDescription2("Low-gravity fun for everyone!");
dsa.setDisplayUrl("www.example.org/marscruise");
dsa.setTrackingUrlTemplate("http://example.org/traveltracker/{escapedlpurl}");

動的検索広告の条件を指定する

最後に、動的検索広告が掲載される条件を設定します。これは Webpage 条件オブジェクトで設定できます。

Webpage 条件には、WebpageParameter オブジェクトを追加します。このオブジェクトには、WebpageCondition を 1~3 個含めることができます。これらのオブジェクトを使うと、上述のキャンペーン設定で指定したドメイン内でフィルタを適用したり検索したりするフィールドを正確に指定できます。

ドメイン内でフィルタを適用できるフィールドは、以下の 4 種類あります。

WebPageConditionOperand 説明
URL ページの URL の一部に一致する文字列。
CATEGORY 正確に一致するカテゴリの文字列。
PAGE_TITLE ページタイトルの一部に一致する文字列。
PAGE_CONTENT インデックス登録されている任意ページ内の一部のコンテンツに一致する文字列。

例として、火星旅行サイトの /children ブランチ内で検索を行うウェブページ条件を作成してみましょう。ただし、タイトルに「Special Offer」という語句が含まれているページのみを対象とします。

// Assumes the existence of adGroupId.
WebpageCondition cond1 = new WebpageCondition();
WebpageCondition cond2 = new WebpageCondition();

cond1.operand = WebpageCondition.URL;
cond1.argument = "/marscruise/children";
cond2.operand = WebpageCondition.PAGE_TITLE;
cond2.argument = "Special Offer";

WebpageParameter param = new WebpageParameter();
param.criterionName = "Special offers for children";
param.conditions = new WebpageCondition[] { cond1, cond2 };

Webpage webpage = new Webpage();
webpage.parameter = param;

// Create biddable ad group criterion.
BiddableAdGroupCriterion bagc = new BiddableAdGroupCriterion();
bagc.setAdGroupId(adGroupId);
bagc.setCriterion(webpage);
bagc.setUserStatus(UserStatus.PAUSED);
BiddingStrategyConfiguration bsc = new BiddingStrategyConfiguration();
CpcBid bid = new CpcBid();
bid.setBid(new Money(null, 10000000L));
bsc.setBids(new Bids[] { bid });
bagc.setBiddingStrategyConfiguration(bsc);

// Create operations.
AdGroupCriterionOperation operation = new AdGroupCriterionOperation();
operation.setOperator(Operator.ADD);
operation.setOperand(bagc);
AdGroupCriterionOperation[] operations =
  new AdGroupCriterionOperation[] { operation };

AdGroupCriterionReturnValue result = AdGroupCriterionService.mutate(operations);

サイトのカテゴリを取得する

DataService を使って、サイトが該当するカテゴリ(Google による分類)のリストを取得できます。ドメインまたはキャンペーンには、フィルタを適用できます。 たとえば以下のコードでは、特定のキャンペーン内で、サイトのカテゴリのリストを取得しています。

DataServiceInterface dataService =
  adWordsServices.get(session, DataServiceInterface.class);

// Create selector.
SelectorBuilder builder = new SelectorBuilder();
Selector selector = builder
    .fields("DomainName", "Category", "IsoLanguage")
    .equals("DomainName", "example.org")
    .equals("CampaignId", campaignId)
    .limit(PAGE_SIZE)
    .build();

DomainCategoryPage page = dataService.getDomainCategory(selector);

サイトの一部を除外する

AdGroupCriterionService を使って、除外を行う Webpage 条件を設定できます。たとえば、この条件を使って、別のキャンペーンや広告グループから管理する必要がある特定のタイトルを含むページを除外できます。

// Assumes the existence of adGroupId.
WebpageCondition cond = new WebpageCondition();
cond.operand = WebpageCondition.PAGE_TITLE;
cond.argument = "Limited Time";

WebpageParameter param = new WebpageParameter();
param.criterionName = "Exclude Limited time pages";
param.conditions = new WebpageCondition[] { cond };

Webpage webpage = new Webpage();
webpage.parameter = param;

// Create biddable ad group criterion.
NegativeAdGroupCriterion nagc = new NegativeAdGroupCriterion();
nagc.setAdGroupId(adGroupId);
nagc.setCriterion(webpage);

// Create operations.
AdGroupCriterionOperation operation = new AdGroupCriterionOperation();
operation.setOperator(Operator.ADD);
operation.setOperand(nagc);
AdGroupCriterionOperation[] operations =
  new AdGroupCriterionOperation[] { operation };

AdGroupCriterionReturnValue result = AdGroupCriterionService.mutate(operations);

その他の条件

動的検索広告キャンペーンや広告グループは、Webpage 条件のみで制限されるわけではありません。他の条件タイプを使って、広告の品質を改良、改善できます。ただし、条件は慎重に追加してください。条件が多すぎると、動的検索広告による自動ターゲティングの効果が弱まる場合があります。

レポート

動的検索広告に関する 3 種類のレポートをダウンロードできます。

条件パフォーマンス レポート

このレポートの Parameter または Dynamic ad target フィールドには、条件オブジェクトが WebpageCriterion タイプだった場合、このオブジェクトに関連する WebpageParameter の名前が含まれています。このフィールドは「属性」タイプであるため、固定データ、すなわち、掲載結果データに関連する WebpageParameter が含まれることになります。

キーワードレス カテゴリ レポート

キーワードレス カテゴリ パフォーマンス レポートには、カテゴリ別に集計された動的検索広告用のキーワードのない広告が含まれます。このレポートは、表示回数 0 の行を返しません。Category0Category1Category2 フィールドには、成果に関連するカテゴリとサブカテゴリの情報が含まれます。

トップレベル カテゴリ 第 1 階層のサブカテゴリ 第 2 階層のサブカテゴリ クリック数 表示回数 日付 費用
旅行、観光 地球外 火星 1 71 2014 年 6 月 20 日 0.05
旅行、観光 冒険旅行 0 279 2014 年 6 月 21 日 0

キーワードレス検索語句レポート

キーワードレス検索語句パフォーマンス レポートには、検索語句に基づいた動的検索広告の統計が含まれます。このレポートは、表示回数 0 の行を返しません。Query フィールドには、成果につながった一致する検索語句が含まれます。

検索語句 クリック数 表示回数 日付 費用 URL
火星 贅沢 0 20 2014 年 6 月 20 日 0 http://example.org/LuxuryMarsCruises
火星 贅沢 0 14 2014 年 6 月 21 日 0 http://example.org/LuxuryMarsCruises
格安 火星 0 24 2014 年 6 月 20 日 0 http://example.org/MarsOnABudget
格安 火星 0 18 2014 年 6 月 21 日 0 http://example.org/MarsOnABudget
火星 ランドマーク 0 130 2014 年 6 月 21 日 0 http://example.org/MajorTouristSpots
火星 ファニー フェイス 0 44 2014 年 6 月 21 日 0 http://example.org/MajorTouristSpots
宇宙旅行 安全 1 3 2014 年 6 月 20 日 0.05 http://example.org/ButIsItSafe
火星 出発地 0 11 2014 年 6 月 21 日 0 http://example.org/HowToGetToMars
火星 ビーチ 0 24 2014 年 6 月 20 日 0 http://example.org/MarsBeachVacations
火星 ビーチ 0 39 2014 年 6 月 21 日 0 http://example.org/MarsBeachVacations
火星 キャニオニング 0 23 2014 年 6 月 21 日 0 http://example.org/DayTripsAndActivities
合計 1 350 -- 0.05 --

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

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