広告の概要

このガイドでは、一般的な使用例に基づいて、API で使用できるさまざまな広告の種類と機能についての概要を説明します。

シナリオ

「ギャラクシー ギターショップ」の経営者を例にとりましょう。新規顧客を呼び込むために広告キャンペーンを実施しようと考えています。以下では、この目標を達成するために使用できる、さまざまな広告の種類と機能について説明します。

広告の掲載場所

AdWords 広告は、次の 2 つのネットワークに掲載されます

  • 検索ネットワーク: Google 検索結果ページ、その他の Google サイト(Google マップ、Google ショッピングなど)、検索パートナー サイト。
  • ディスプレイ ネットワーク: YouTube、Blogger、Gmail などの Google サイト、インターネット上の数千ものパートナー ウェブサイト。

両方のネットワークに広告を掲載することにしたとしましょう。ただし、検索キャンペーンとディスプレイ キャンペーンをばらばらに管理せずにすむようにしたいので、検索ネットワーク(ディスプレイ ネットワーク対応)キャンペーンを 1 つの広告グループで作成します。

詳しくは、クライアント ライブラリの basic operations サンプル フォルダ内にある AddCampaigns コードサンプルをご覧ください。

広告の種類

広告を掲載する場所が決まったら、ニーズに最適な広告の種類を選択しましょう。AdWords API には、次のような種類の広告が用意されています。

種類 検索 ディスプレイ 説明
ExpandedTextAd 新しく登場した標準の AdWords テキスト広告です。2 つの広告見出し、商品やサービスの広告文、ナビゲーション用パンくずリスト、システムによって生成される表示 URL が表示されます。
TextAd 標準の AdWords テキスト広告です。ウェブサイトへのリンクと、商品やサービスに関する説明や宣伝が表示されます。この広告は拡張テキスト広告に置き換えられる予定です。
ProductAd × 商品広告(AdWords 管理画面では [ショッピング広告] と表示)では、ショッピング キャンペーンに関連付けられた Merchant Center アカウントの商品データが使用されます。
DynamicSearchAd × ウェブサイトのコンテンツを使用して動的に生成される検索広告です。
CallOnlyAd 電話専用キャンペーンの広告です。
ImageAd 1 商品やサービスを宣伝する画像が掲載される広告です。
ResponsiveDisplayAd × マーケティング画像や短い広告見出し、長い広告見出し、広告文、任意で追加できる名前とロゴが表示されます。
TemplateAd 2 2 事前定義済みのテンプレートを使用した広告です。

1検索ネットワークの ImageAd は、Google 検索ではなく、Google 検索パートナーのウェブサイトのみに表示されます。

2詳しくは、TemplateAd テンプレートのリストテンプレート広告に関するガイドをご覧ください。各テンプレート ID がサポートするネットワークが記載されています。

ここでは、最も一般的な広告の種類である ExpandedTextAd の設定から始めます。この ExpandedTextAd を使って、検索ネットワークとディスプレイ ネットワークの両方で広告を掲載してみましょう。

拡張テキスト広告の設定

ExpandedTextAd は比較的シンプルなオブジェクトです。必要な操作は、次の属性の指定だけです。

  • HeadlinePart1 - 広告見出しの前半。
  • HeadlinePart2 - 広告見出しの後半。
  • Description - 広告の説明テキスト。
  • FinalUrls - 広告をクリックしたユーザーがアクセスするウェブサイトのページの URL。

ギターショップの ExpandedTextAd コードは、次のようになります。

ExpandedTextAd textAd = new ExpandedTextAd();
textAd.setHeadlinePart1("Intergalactic Guitar Shop");
textAd.setHeadlinePart2("Large selection of guitars");
textAd.setDescription("Weekly specials on accessories");
textAd.setFinalUrls(new String[]{
    "http://www.example.com/intergalacticguitars/products"});

コードサンプルの全文は、クライアント ライブラリの basic operations サンプル フォルダ内にある AddExpandedTextAds サンプルをご覧ください。

広告表示オプションの追加

手始めとして広告グループに基本の ExpandedTextAd を作成しましたが、検索ネットワークとディスプレイ ネットワークに表示される広告には、上記以外の情報やリンク、アクション ボタンを含めることができます。

このような追加情報は、広告表示オプションで表示します。ほとんどの広告表示オプションは、AdWords API のフィード サービスを使って管理します。広告表示オプションには、広告の効果を高めるうえで役立つ次のオプションが用意されています。

  • サイトリンク: ウェブサイトの特定のページへのリンクを表示します。
  • 住所表示オプション: ビジネスの住所や電話番号、地図上のマーカーを広告文と一緒に表示します(モバイルの場合は、ビジネスまでのアクセス方法を示すリンクも表示)。
  • アプリリンク表示オプション: モバイルアプリまたはタブレット アプリへのリンクを表示します。
  • コールアウト表示オプション: 提供している商品やサービスなど、ビジネスについての詳しい情報を表示します。
  • レビュー表示オプション: Google 検索に表示される広告の下に 1 行追加する形で、評価の高いレビューや受賞歴、サードパーティによるランキングなどを表示します。

ギャラクシー ギターショップのオーナーは、次のような店の特長をユーザーに知ってもらいたいと考えています。

  • 修理サービスを提供している。
  • アコースティック ギターとエレキギターの両方を扱っている。
  • ギター教室を開催している。

このような情報を掲載するには、サイトリンク表示オプションがうってつけです。

サイトリンク表示オプションを設定する手順については、広告表示オプション設定サービスに関するガイドに記載された指示に従ってください。このガイドには、各クライアント ライブラリ内にあるコードサンプルへのリンクも記載されています。

住所表示オプションの追加

広告の掲載が開始されると、サイト内の各種エリアへのリンクが表示されますが、店の場所を簡単に見つけてもらえるようにする必要があります。特に、広告がモバイル端末に表示される場合は重要です。

既に Google マイビジネス アカウントに住所情報を入力している場合は、手順が簡単になります。Google マイビジネス アカウントと AdWords アカウントをリンクするだけで、住所情報が表示されます。

詳しい情報とコードサンプルについては、住所表示オプションに関するガイドをご覧ください。

その他の広告表示オプション

これで、キャンペーンにサイトリンク表示オプションと住所表示オプションを設定できました。アプリリンク設定オプション、コールアウト表示オプション、レビュー表示オプションなど、他のオプションも同様の手順で追加することができます。異なる点は、広告表示オプション設定サービスで使用される ExtensionFeedItem の種類です。

広告表示オプションの管理に関するガイドには、広告表示オプションの種類ごとにサンプルが用意されています。

広告のスケジュール設定

何事もタイミングが重要ですが、広告も例外ではありません。多くのビジネスでは、1 日の特定の時間帯に特別な広告のニーズがあり、そのような時間帯にユーザーをターゲットすることが必要になります。キャンペーンに広告のスケジュール設定を使用すると、最も効果的なタイミングで広告を表示できるため、集中したターゲティングと費用対効果の改善が実現します。

広告のスケジュール設定を使うと、広告が表示されるタイミングをプログラムで決定でき、広告の表示と非表示を手動で切り替える必要がなくなります。

スケジュール設定は、キャンペーン単位での設定となるため、すべての有効な広告グループと広告グループ内の広告に反映されます。スケジュール設定は、CampaignCriterionService とその条件型の 1 つである AdSchedule を使って指定します。

それぞれの AdScheduleCriterion では、曜日、開始時間、終了時間、単価調整比(従来は CampaignTargetService の bid_multiplier で指定)などの複数のプロパティを定義します。単価調整比を使うと、特定の時間帯に入札単価を引き上げたり引き下げたりできます。

コードサンプル

できるだけ営業時間と連動して広告が掲載されるようにするには、広告の開始時間と終了時間をそれぞれ開店と閉店の時間よりわずかに早く設定します。

// Obtain a campaignId you want to configure
Long campaignId =  Long.valueOf("INSERT_CAMPAIGN_ID_HERE");

// Closed on Sunday, so we don't configure an AdSchedule for Sunday.
DayOfWeek[] days = new DayOfWeek[] {DayOfWeek.MONDAY,
    DayOfWeek.TUESDAY,
    DayOfWeek.WEDNESDAY,
    DayOfWeek.THURSDAY,
    DayOfWeek.FRIDAY,
    DayOfWeek.SATURDAY};

List operations = new ArrayList();
for (int i = 0; i < 6; i++) {
  AdSchedule schedule = new AdSchedule();
  schedule.setDayOfWeek(days[i]);
  // Start at 8:45 am...
  schedule.setStartHour(8);
  schedule.setStartMinute(MinuteOfHour.FORTY_FIVE);
  // ... and end at 7:45 pm
  schedule.setEndHour(19);
  schedule.setEndMinute(MinuteOfHour.FORTY_FIVE);
  CampaignCriterionOperation operation = new CampaignCriterionOperation();
  CampaignCriterion campaignCriterion = new CampaignCriterion();

  campaignCriterion.setCampaignId(campaignId);
  campaignCriterion.setCriterion(schedule);
  // Run at normal bid rates
  campaignCriterion.setBidModifier(1.0);
  operation.setOperand(campaignCriterion);
  operation.setOperator(Operator.ADD);
  operations.add(operation);
}

CampaignCriterionReturnValue result =
    campaignCriterionService.mutate(operations
        .toArray(new CampaignCriterionOperation[operations.size()]));

昼休みの時間帯に特別セールを実施することをユーザーに適切に宣伝するには、早朝に広告の掲載を開始して、セールの時間帯に大幅に掲載頻度を増やします。

// Obtain a campaignId you want to configure
Long campaignId = Long.valueOf("INSERT_CAMPAIGN_ID_HERE");

List operations = new ArrayList();
AdSchedule early = new AdSchedule();
AdSchedule peak = new AdSchedule();
CampaignCriterionOperation operationEarly = new CampaignCriterionOperation();
CampaignCriterion campaignCriterionEarly = new CampaignCriterion();
CampaignCriterionOperation operationPeak = new CampaignCriterionOperation();
CampaignCriterion campaignCriterionPeak = new CampaignCriterion();

// Sample schedule for Monday
early.setDayOfWeek(DayOfWeek.MONDAY);
peak.setDayOfWeek(DayOfWeek.MONDAY);
// Start at 8:00 am...
early.setStartHour(8);
early.setStartMinute(MinuteOfHour.ZERO);
// ... and run until promotion starts
early.setEndHour(12);
early.setEndMinute(MinuteOfHour.ZERO);
// Run at normal bid rates
campaignCriterionEarly.setBidModifier(1.0);

// Start higher bidding at noon...
peak.setStartHour(12);
peak.setStartMinute(MinuteOfHour.ZERO);
// ... and run until promotion ends...
peak.setEndHour(14);
peak.setEndMinute(MinuteOfHour.ZERO);
// ... at double the bid!
campaignCriterionPeak.setBidModifier(2.0);

campaignCriterionEarly.setCampaignId(campaignId);
campaignCriterionEarly.setCriterion(early);
campaignCriterionPeak.setCampaignId(campaignId);
campaignCriterionPeak.setCriterion(peak);

operationEarly.setOperand(campaignCriterionEarly);
operationEarly.setOperator(Operator.ADD);
operationPeak.setOperand(campaignCriterionPeak);
operationPeak.setOperator(Operator.ADD);
operations.add(operationEarly);
operations.add(operationPeak);

CampaignCriterionReturnValue result =
    campaignCriterionService.mutate(operations
        .toArray(new CampaignCriterionOperation[operations.size()]));

この例では、特定の曜日に広告の掲載を停止する方法を示しています。AdSchedule を送信する際に使う Id は、既存の AdSchedule と同じものを使う必要があります。

// Suppose you already have a schedule of 8:45 am to 7:45 pm for Monday to Saturday

// Obtain the campaignId and criterionId you want to configure
Long campaignId = Long.valueOf("INSERT_CAMPAIGN_ID_HERE");
Long criterionIdForSaturday = Long.valueOf("INSERT_CRITERION_ID_HERE");

List removeOperations = new ArrayList();

// Remove a schedule for Saturday
AdSchedule removeScheduleForSaturday = new AdSchedule();
removeScheduleForSaturday.setId(criterionIdForSaturday);

CampaignCriterionOperation removeOperation = new CampaignCriterionOperation();
CampaignCriterion removeCampaignCriterion = new CampaignCriterion();

removeCampaignCriterion.setCampaignId(campaignId);
removeCampaignCriterion.setCriterion(removeScheduleForSaturday);

removeOperation.setOperand(removeCampaignCriterion);
removeOperation.setOperator(Operator.REMOVE);
removeOperations.add(removeOperation);

CampaignCriterionReturnValue removeResult = campaignCriterionService.mutate(
    removeOperations.toArray(new CampaignCriterionOperation[removeOperations.size()]));

この例では、広告が掲載される時間帯を変更する方法を示しています。AdSchedule は、既存のものを削除してから新しく送信する必要があります。

// Suppose you already have a schedule of 8:45 am to 7:45 pm for Monday to Saturday
// Obtain the campaignId and criterionId you want to configure
Long campaignId = Long.valueOf("INSERT_CAMPAIGN_ID_HERE");
Long criterionIdForFriday = Long.valueOf("INSERT_CRITERION_ID_HERE");

List operations = new ArrayList();

// Remove a schedule for Friday first
AdSchedule removeScheduleForFriday = new AdSchedule();
removeScheduleForFriday.setId(criterionIdForFriday);

CampaignCriterionOperation removeOperationForFriday = new CampaignCriterionOperation();
CampaignCriterion removeCampaignCriterionForFriday = new CampaignCriterion();

removeCampaignCriterionForFriday.setCampaignId(campaignId);
removeCampaignCriterionForFriday.setCriterion(removeScheduleForFriday);

removeOperationForFriday.setOperand(removeCampaignCriterionForFriday);
removeOperationForFriday.setOperator(Operator.REMOVE);
operations.add(removeOperationForFriday);

// Create a new schedule for Friday
AdSchedule addScheduleForFriday = new AdSchedule();
addScheduleForFriday.setDayOfWeek(DayOfWeek.FRIDAY);
// Start at 3:00 pm...
addScheduleForFriday.setStartHour(15);
addScheduleForFriday.setStartMinute(MinuteOfHour.ZERO);
// ... and end at 7:45 pm
addScheduleForFriday.setEndHour(19);
addScheduleForFriday.setEndMinute(MinuteOfHour.FORTY_FIVE);
CampaignCriterionOperation addOperationForFriday = new CampaignCriterionOperation();
CampaignCriterion campaignAddCriterionForFriday = new CampaignCriterion();

campaignAddCriterionForFriday.setCampaignId(campaignId);
campaignAddCriterionForFriday.setCriterion(addScheduleForFriday);
// Run at normal bid rates
campaignAddCriterionForFriday.setBidModifier(1.0);
addOperationForFriday.setOperand(campaignAddCriterionForFriday);
addOperationForFriday.setOperator(Operator.ADD);
operations.add(addOperationForFriday);

CampaignCriterionReturnValue result = campaignCriterionService.mutate(
    removeOperations.toArray(new CampaignCriterionOperation[operations.size()]));

CampaignCriterionService を使って既存のキャンペーンにターゲット設定を追加する方法については、次のコードサンプルをご覧ください。

広告の掲載結果の測定

ここまでに、キャンペーン、広告グループ、テキスト広告、複数の広告表示オプションを設定しました。次に、キャンペーン、広告、広告表示オプションの掲載結果を確認します。ここで役に立つのがレポート機能です。

キャンペーンの掲載結果をさまざまな観点から確認することで、重要な疑問への回答を得ることができます。下記の使用例を展開すると、関連するレポートとフィールド、さらに AWQL レポート リクエストのサンプルが表示されます。

上記の疑問では、一般的な使用例と機能について取り上げました。その他の オプションについては、レポートの種類の一覧をご覧ください。

次のステップ

レポートを確認したら、次のような作業を検討してみてください。

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

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