メディエーションの A/B テスト

AdMob API でメディエーションの A/B テストを作成し、広告のパフォーマンスを最大化できる パフォーマンスをテストする方法を学びます。A/B テストでは 2 種類のメディエーション グループの結果を並べて比較し、 目的の構成を選択します。

たとえば次のようなテストを設定できます。

  • 広告ソースを追加または削除して、メディエーション グループへの影響を確認する
  • 広告の手動 eCPM 値を変更して、ウォーターフォールの別の順序を使用する ソース
  • ウォーターフォールの広告ソースの最適化を有効または無効にする
  • 広告ソースの呼び出し回数を変更する

まず既存のメディエーション グループから、そのグループのパターンを作成して成果を比較します パターン A と B のどちらが パフォーマンスが高いかがわかりますテストはアプリのユーザーを パフォーマンス指標に基づいて、既存のメディエーション グループの設定とテストパターンの パーセンテージ(1%、10%、50%)で指定できます。

curl(コマンドライン)

curl を使用したリクエスト

  1. クライアント シークレット ファイルを読み込み、承認を生成する 提供します。

    この手順を初めて行うときは、 承認プロンプトが表示されます。承認する前に、次の要件を満たしていることを確認してください。 AdMob API にアクセスできる Google アカウントでログインしている。お客様の アプリは、自身が管理するアカウントに代わって 確認できます。

    認証と認可には、Cloud KMS の使用を oauth2l。シンプルなコマンドライン ツールであり、 Google OAuth 2.0 との連携について学びました。oauth2l をインストールし、以下のコマンドを実行します。 path_to_credentials_json をファイルへのパスに置き換えます。 クラウドの登録時にダウンロードする credentials.json ファイル 。初回実行時には、OAuth 2.0 承認フローを実行しますその後の実行で、トークンは自動的に更新されます。

    oauth2l header --json path_to_credentials_json --scope admob.monetization,admob.readonly
    
  2. メディエーションの A/B テストを作成します。

    pub-XXXXXXXXXXXXXXXXパブリッシャーに置き換えます。 IDZZZZZZZZZZ を [メディエーショングループ ID]ですメディエーション グループ ID は、AdMob 管理画面または 使用して accounts.mediationGroups:list メソッドを呼び出します。

    この引数を treatmentMediationLines および treatmentTrafficPercentage, ただし、 controlMediationLines 親メディエーション グループから継承されるため、 あります。

    次のリクエストでは、メディエーションの A/B テストが作成され、 パターン B(パターン B)に 1 つのメディエーションが含まれている 行を LIVE モード:

    curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
      "displayName":"Mediation A/B Experiment Test Name",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [{
        "mediationGroupLine": {
          "displayName": "Test mediation group line",
          "adSourceId": "5450213213286189855",
          "cpm_mode": "LIVE"
        }
      }]
    }
    EOF

    以下のサンプル レスポンスをご覧ください。ここで、SSSSSSSSSSSSSSSSSSSSSS は以下を表します。 作成されたメディエーションの A/B テスト ID。YYYYYYYYYY は、 広告ユニットの下 10 桁 ID を返します。 ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY

    {
      "name": "accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments/SSSSSSSSSSSSSSSSSSSSSS",
      "displayName": "Mediation A/B Experiment Test Name",
      "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
      "treatmentTrafficPercentage": "50",
      "treatmentMediationLines": [
        {
          "mediationGroupLine": {
            "id": "11111111111111111",
            "displayName": "Test mediation group line",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "controlMediationLines": [
        {
          "mediationGroupLine": {
            "id": "22222222222222222",
            "displayName": "AdMob Network (control)",
            "adSourceId": "5450213213286189855",
            "cpmMode": "LIVE",
            "cpmMicros": "10000",
            "adUnitMappings": {
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
              "ca-app-pub-XXXXXXXXXXXXXXXX/YYYYYYYYYY": "accounts/pub-XXXXXXXXXXXXXXXX/adUnits/YYYYYYYYYY/adUnitMappings/
            },
            "state": "ENABLED"
          }
        }
      ],
      "state": "RUNNING"
    }
  3. メディエーションの A/B テストが実行中であることを確認します。

    発信 accounts.mediationGroups:list を使って、そのメディエーション グループのメディエーション A/B テストのステータスを取得できます。詳しくは、 メディエーション グループ ガイド 表示されます。

    mediationAbExperimentState メディエーションの A/B テストがアクティブな場合は RUNNINGNOT_RUNNING に設定されます。 メディエーション グループでテストが実施されていない場合。

    リクエストの例:

     curl --http1.0 \
    -X GET https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.readonly)"
    
  4. メディエーションの A/B テストを停止してパターンを選択します。

    pub-XXXXXXXXXXXXXXXXパブリッシャーに置き換えます。 IDZZZZZZZZZZ を [メディエーショングループ ID]ですメディエーション グループ ID は、AdMob 管理画面または 使用して accounts.mediationGroups:list メソッドを呼び出します。

    テストを完了するには、リクエストで効果の高いバリアントを指定します。

    • VARIANT_CHOICE_A: パターン A のメディエーション行を使用して、 クリックします。パターン A には、元の配信行が テストを作成できます
    • VARIANT_CHOICE_B: メディエーション ラインのフォーム パターン B を使用して、 クリックします。パターン B には、新しく追加された配信行が含まれます。

    リクエストの例:

     curl --http1.0 \
    -X POST https://admob.googleapis.com/v1beta/accounts/pub-XXXXXXXXXXXXXXXX/mediationGroups/ZZZZZZZZZZ/mediationAbExperiments:stop \
    -H "Content-Type:application/json" \
    -H "$(oauth2l header --json path_to_credentials_json --scope admob.monetization)" \
    --data @- << EOF
    {
    "variantChoice": "VARIANT_CHOICE_A"
    }
    

    レスポンスの例:

    {
    "experimentId": "SSSSSSSSSSSSSSSSSSSSSS",
    "state": "EXPIRED",
    }