キャンペーンの下書きとウェブテスト

Google 広告スクリプトでは、キャンペーンの下書きと テスト機能です。 検索キャンペーンとディスプレイ ネットワーク キャンペーンへの変更の準備とテストを行います。

下書きは既存のキャンペーンの複製です。独自の広告は配信されませんが、 を使用すると、元のキャンペーンに変更を加えることなく、変更をステージングできる。「 基本のキャンペーンに適用できます。

テストでは、カスタマイズ可能なキャンペーンを元のキャンペーンと並行して実施できます。 指定した割合のトラフィックに広告を表示します基づいて、 元のキャンペーンに変更を適用できます 独立したキャンペーンにテストを分割するか、テストを中止します あります

このガイドでは、下書きとテストの基本的なワークフローについて説明します 使用できます。

下書き

下書きの作成

下書きは、既存の基本のキャンペーンから DraftBuilder 一意の名前を指定します基本のキャンペーンが検索ネットワークまたは検索ネットワークであること ディスプレイ ネットワーク対応のキャンペーン、またはディスプレイ キャンペーン(モバイルアプリを除く) 共有予算を設定することはできません。

const campaign = AdsApp.campaigns()
    .withCondition(`campaign.name = "${campaignName}"`)
    .get()
    .next();

const draftBuilder = campaign.newDraftBuilder()
    .withName("INSERT_DRAFT_NAME_HERE")
    .build();

const draft = draftBuilder.getResult();

DraftBuilder.build()DraftOperation, 一般的な操作を見てみましょう。こちらのガイド ビルダーをご覧ください。

draft は、基本のキャンペーン ID と ドラフト ID です。詳細については、DraftSelector.withIds() をご覧ください。

下書き用キャンペーンをプロビジョニングする

draft オブジェクトは、基本のキャンペーンと下書き用キャンペーンを関連付けます。更新をステージングする 下書き用キャンペーン全体に変更を適用します。

下書き用キャンペーンには、他のキャンペーンと同様に、 さまざまな属性(条件、広告グループ、入札単価、広告など)

const draftCampaign = draft.getDraftCampaign();

draftCampaign.setAdRotationType("CONVERSION_OPTIMIZE");
draftCampaign.createNegativeKeyword("shoes");

広告ポリシーのチェックは、下書き用キャンペーンに対しても 基本のキャンペーン用です次からテストを実施できなくなります: ポリシーに違反している広告を含む下書き用キャンペーン

ドラフトを実行する

下書き用キャンペーンを作成したら、次のいずれかを行います。

  1. 変更を適用しない場合は、下書きを削除します。 下書きを削除すると元に戻せませんが、[すべて 下書き。Google 広告管理画面の [下書き] タブにあります。

    draft.remove();
    
  2. 下書きに加えた変更を保持する場合は、次に進んでください 適用します。

    draft.startApplying();
    

    このメソッドは、ベースに更新を適用するプロセスを開始します。 キャンペーンなので、下書きのステータスは [適用中...] になります。 Google 広告の管理画面。ただし、メソッドから通知されても、 表示されます。

  3. 変更を最初に試す場合は、下書きを使用して テストを作成します

テスト

テストを作成する

experiment は下書きに似ており、ベースから作成されます。 ありますexperiment を作成し、 ExperimentBuilder。 これにより、2 つの「テスト群」を含むテストが自動的に作成されます表す テストのさまざまな部分で行われます一方の群(コントロール群)では テスト群にはコントロール群が含まれ、もう一つはトリートメント群 新しい下書き用キャンペーンが含まれています。この下書き用キャンペーンは、 下書きに変更してからテストをスケジュール設定します。

テストを作成する際は、 ビルダー:

withCampaign
テストのベースとなるキャンペーン。
withTrafficSplitPercent
テスト群に割り当てられるトラフィックの量。50% の場合は、50 を指定します。
withStartDatewithEndDate
キャンペーンの開始日と終了日を指定します。YYYYMMdd で指定します。 あります。
withType
使用するネットワークに応じて、SEARCH_CUSTOM または DISPLAY_CUSTOM のいずれかを指定します。 確認できます
withSuffix
処理群キャンペーンの名前に追加する接尾辞を指定します 作成されます。
withGoals
このテストの目標を指定します。リマインダーです 作成時の目標を確認します適切なデフォルト値は [{metric: 'CLICKS', direction: 'INCREASE'}] です。

トラフィック分割の割合によって、表示されるトラフィックの割合が決まります テスト キャンペーンの広告を作成します。このため、 基本のキャンペーンでは、一度に 1 つのテストしか実施できません。

const experiment = AdsApp.newExperimentBuilder()
  .withCampaign(campaign)
  .withTrafficSplitPercent(50)
  .withStartDate("20230501")
  .withEndDate("20230601")
  .withType("SEARCH_CUSTOM")
  .withSuffix("experiment")
  .withGoals([{metric: 'CLICKS', direction: 'INCREASE'}])
  .build();

// The experimentCampaign represents the customizeable draft.
const experimentCampaign = experiment.getExperimentCampaign();

下書きとは異なり、テストは 1 つの ID で一意に識別されます。詳しくは、ExperimentSelector.withIds() をご覧ください。

テスト キャンペーンをプロビジョニングする

draft と同様に、experiment 自体はキャンペーンではありません。むしろ、 基本のキャンペーン、下書き、テスト キャンペーンが関連付けられています。クラスのフィールド テスト キャンペーンは変更可能ですが、以下の例外があります。

  • name
  • status
  • 開始日
  • 終了日
  • 予算
const experimentCampaign = experiment.getExperimentCampaign();

// Will succeed.
experimentCampaign.setAdRotationType("ROTATE_FOREVER");
experimentCampaign.createNegativeKeyword("sneakers");

// Will fail.
experimentCampaign.setName("INSERT_EXPERIMENT_NAME_HERE");

テストの名前、開始日、終了日は変更できます。 その後テスト キャンペーンに反映されます

// Will succeed.
experiment.setName("INSERT_EXPERIMENT_NAME_HERE");

// Will succeed if date is acceptable.
const date = "20220601";
experiment.setStartDate(date);

テストを開始するには、experiment.startScheduling() を呼び出します。これは 基本のキャンペーンからすべての設定をコピーする必要があるため、非同期の処理が行われます。

テストの終了後

テストが完了したら、次の選択肢のいずれかを行います。デフォルトの テストは完全に終了しますが 広告の配信は停止しますが やり取りします[終了] のテストも、削除、適用、削除は可能です。 キャンペーンのパフォーマンスの統計情報には引き続きアクセスできます。

experiment.finish();
const stats = experimentCampaign.getStatsFor("INSERT_TIME_PERIOD_HERE");
  • 統計に基づき、テストにご満足いただけなかった場合は、 テストを削除すると、テスト キャンペーンも削除されます。削除しています テストは元に戻せませんが、[すべて テストは、Google 広告管理画面の [テスト] タブで確認できます。

    experiment.remove();
    
  • 満足のいくテスト結果が得られたら、次の 2 つの方法があります。

    1. 変更の適用は開始できますが、下書きと同様に、 通知を受け取れるようにします。

      experiment.startApplying();
      
    2. テスト キャンペーンは、独立したテスト キャンペーンとして 基本のキャンペーンに影響を与えず、完全に運用中のキャンペーンになります。この このプロセスは 卒業 新しい予算を設定する必要がある。

      const budget = AdsApp.budgets()
          .withCondition(`campaign_budget.id = ${budgetId}`)
          .get()
          .next();
      
      experiment.graduate(budget);
      

      新しいキャンペーンと基本のキャンペーンの予算は共有できなくなります。 新たな予算が必要になります移行したキャンペーンは すべてのフィールドが変更可能で 他の下書きとテストのベース キャンペーンとして使用できます。

その他の考慮事項

基本エンティティ

Google 広告スクリプトに下書きとテストを導入すると、 基本エンティティの概念です。キャンペーンを下書きしてテストし 元の基本のキャンペーンとは異なるため Campaign および AdGroup 基本のキャンペーンと広告グループにアクセスするメソッドが追加されました。 getBaseCampaign()getBaseAdGroup()

これらのメソッドは、基本のキャンペーンまたは広告から呼び出された場合に呼び出し元エンティティを返します。 できます。キーワードや広告など、キャンペーンや広告グループ内のエンティティも 方法を提供しています。

基本エンティティを追跡できるように、キャンペーンには isBaseCampaign() isDraftCampaign(), および isExperimentCampaign() あります。

新しい Campaign.draftCampaigns() および Campaign.experimentCampaigns() メソッドを使うと、テスト キャンペーンのすべての下書き用キャンペーンとテスト キャンペーンに 基本のキャンペーンとして使用しますただし 下書きは 次を含むキャンペーン CampaignSelector.withCondition()AdsApp.drafts() してください。

エラー処理

下書きとテストに関する次の手法は、 スクリプトは実行されますが、非同期で失敗する場合があります:

  • Draft.startApplying()
  • Experiment.startApplying()
  • Experiment.startScheduling()

これらのオペレーションが成功するかどうかを確認する必要があります。Google 広告の管理画面 正常に完了すると、ステータスが [適用済み] または [有効] になります。 (それぞれ startApplying()startScheduling())になります。また、 エラー発生時に [Unable to apply] または [Unable to create] が表示され、クリックしてから エラーを確認します。

また、一部のメソッドがプレビュー段階で失敗しても成功する場合があります。 実行後たとえば、下書きの作成後は次のようになります。

const draftCampaign = draft.getDraftCampaign();
draftCampaign.createNegativeKeyword("shoes"); // Will fail in preview.

下書き用キャンペーンにアクセスできないため、プレビュー モードでは失敗します すぐに通知されます。

同様に、テストを作成し、すぐにその下書きを取得しようとした場合 下書きは実際には作成されていないため、プレビュー モードでは失敗します。

そのため、スクリプトを実行したら、スクリプトリストの下にあるログを確認してください。 原因が妥当だと思われる場合にのみ、失敗したプレビューのスクリプトに進みます プレビューモードの制限です