新しいコンバージョンを追加

Conversion.insert() メソッドを呼び出して、コンバージョンを 1 つ以上追加します。コンバージョンのアトリビューションを適切に行うには、広告主がオフライン コンバージョンのレポート作成に使用している Floodlight アクティビティの名前と、コンバージョンにつながったキーワード、広告、場合によってはクリックの ID をリクエストに指定する必要があります。検索広告 360 ID を取得する方法については、検索広告 360 の ID とコンバージョンをご覧ください。

過去のコンバージョンのアップロードに関する制限については、検索広告 360 ヘルプセンターをご覧ください。

Conversion.insert() リクエストで複数のコンバージョンが指定されている場合、検索広告 360 は、バッチ全体をオール オア ナッシング トランザクションとしてアップロードするのではなく、各コンバージョンをベスト エフォート方式でアップロードしようとします。バッチに含まれるコンバージョンの一部がアップロードできない場合でも、他のコンバージョンは正常にアップロードされる可能性があります。コンバージョンのアップロードは、無効なリクエスト、または一時的なネットワーク障害やシステム障害が原因で失敗することがあります。そのため、挿入されたすべてのコンバージョンのレスポンスを読み、アップロードが成功したかどうかを確認することをおすすめします。

アップロードしたデータを使用できるようになるまで、どのくらいかかりますか?

コンバージョンに今日または昨日の conversionTimestamp を指定した場合、コンバージョンの指標がアップロードから 1 時間以内に検索広告 360 管理画面に表示されます。昨日よりも古い conversionTimestamp を指定すると、指標は数時間で更新されます。

変換のすべてのタイムスタンプをエポック時刻(Unix 時間)に変換します。

API から Floodlight アクティビティを作成できますか?

広告主がオフライン コンバージョンのトラッキング用の Floodlight アクティビティをまだ作成していない場合は、 Campaign Manager API を使用して作成できます。API を使用して、Floodlight アクティビティを主にオフライン コンバージョンに使用するように指定することはできません。入札戦略でコンバージョンのデータを使用する場合は、この方法をおすすめします。

API を使用して Floodlight アクティビティを作成した後に、検索広告 360 ユーザーが検索広告 360 にログインし、アクティビティの設定を変更して、コンバージョンの主な発生元がオフライン アクティビティであることを指定することをおすすめします。

コンバージョンの追加に関するベスト プラクティス

コンバージョンを追加する際は、次のベスト プラクティスをおすすめします。

  1. 検索広告 360 ユーザーに、検索広告 360 にログインし、オフライン コンバージョンのレポートに使用する各 Floodlight アクティビティの設定を変更するよう依頼します。この設定では、コンバージョンの主な発生元がオフライン アクティビティであることを指定する必要があります。手順については、検索広告 360 ヘルプセンターをご覧ください。

  2. コンバージョンは、利用可能になり次第アップロードします。 コンバージョンを特定の訪問に結び付ける場合は、訪問後 30 分以上経ってからコンバージョンをアップロードしてください。訪問後 30 分以内にアップロードした場合、検索広告 360 で訪問のクリック ID が認識されないことがあります。まれに、検索広告 360 が clickId を認識できるようになるまで、最大 4 時間ほどかかることがあります。

    各アップロードに最新のコンバージョンが含まれていることを確認します。単一のアップロード リクエスト内で、エントリが時系列でなくても問題ありません。ただし、後で別のリクエストでアップロードした古いコンバージョンは、入札戦略で考慮されない可能性があります。

  3. 24 時間以上経過してから Floodlight アクティビティのコンバージョンをアップロードする場合は、状況を示すタイムスタンプを送信してください。

    状況を示すタイムスタンプは次のいずれかにする必要があります。

    • 過去 24 時間に記録されたコンバージョンがまだアップロードされていない場合、タイムスタンプは最後にアップロードされたコンバージョンが発生した時刻になります。これにより、コンバージョンは過去 24 時間以内に発生した可能性があるものの、データをまだ提供していないことが検索広告 360 に通知されます。入札戦略などの自動システムでは、最後にアップロードしたコンバージョンまでのパフォーマンス履歴のみが考慮されます。
    • 過去 24 時間以内にコンバージョンが発生していない場合、タイムスタンプは現在の日時になります。これにより、過去 24 時間以内にコンバージョンが発生していないことが検索広告 360 に通知されます。入札戦略などの自動システムでは、過去 24 時間(コンバージョンが発生していない丸 1 日)が掲載結果履歴に含まれます。

挿入リクエストを送信する

Conversion.insert() リクエストを送信すると、次のことができます。

  • コンバージョンを特定の訪問に関連付ける
  • コンバージョンをキーワードのみに関連付ける

Conversion.insert() リクエストに必要なフィールドは、コンバージョンに結び付けるイベントやアイテムによって異なります。以下のセクションでは、コンバージョンを関連付けることができる各イベントやアイテムの必須フィールドと省略可能なフィールドについて説明します。

コンバージョンを特定の訪問に関連付ける

ユーザーが 1 つ以上の広告をクリックして広告主のサイトにアクセスした場合、検索広告 360 では、その広告主のサイトでのユーザー セッションを訪問と見なします。コンバージョンを訪問に結び付けるには、Conversion.insert() リクエストで次のように指定します。

必須項目

  • clickId: 訪問のクリック ID(大文字と小文字は区別されます)。広告主のウェブログでクリック ID を調べるか、コンバージョンを一覧表示して、別のコンバージョンのクリック ID を使用します。検索広告 360 は、キーワード、広告など、訪問の生成につながった検索広告 360 オブジェクトにコンバージョンを結び付けます。
    検索広告 360 でクリック ID が生成されてから 30 分以上経ってから、コンバージョンをアップロードします。 「クリック ID が見つかりません」というエラーが表示された場合は、4 時間待ってから、コンバージョンをもう一度アップロードしてください。コンバージョンはすべて、クリック ID の生成から 90 日以内にアップロードする必要があります。そうしないと、Search Ads 360 API で訪問が認識されない可能性があります。
  • conversionId: オフライン コンバージョンの場合は、広告主がこの ID を指定します。広告主は、広告主にとって意味のある任意の ID を指定できます。リクエストの各コンバージョンには一意の ID を指定する必要があります。ID とタイムスタンプの組み合わせは、広告主のすべてのコンバージョン間で一意である必要があります。オンライン コンバージョンの場合、検索広告 360 は、広告主の Floodlight 処理に応じて、dsConversionId または floodlightOrderId をこのプロパティにコピーします。
  • conversionTimestamp: コンバージョンが発生した日時を示します。たとえば、コンバージョンが 2016 年 8 月 5 日(金)午前 11:53:22 東部夏時間(GMT -4:00)に発生する場合は、タイムスタンプをエポックミリ秒単位で指定します(例: 1470412402000)。
  • segmentationType: コンバージョンをアップロードするコンバージョン システムのタイプを指定します。現在サポートされているのは Floodlight コンバージョンのみであるため、このフィールドでは常に FLOODLIGHT を指定する必要があります。
  • segmentationName: 広告主がコンバージョンの報告に使用している Floodlight アクティビティの名前。

    広告主に同じ名前のアクティビティが含まれている場合(アクティビティが異なる Floodlight グループに属している可能性があります)は、アクティビティの名前を変更することをおすすめします。

    または、検索広告 360 が Floodlight アクティビティに割り当てた ID がわかっている場合は、segmentationName フィールドに名前を指定する代わりに、segmentationId で ID を指定できます。(キャンペーン マネージャーでも Floodlight アクティビティに ID が割り当てられますが、キャンペーン マネージャー ID は検索広告 360 の ID とは異なるため、コンバージョンのアトリビューションには使用できません)。Floodlight アクティビティの検索広告 360 ID を表示するには、(検索広告 360 の管理画面または Reporting API を使用して)コンバージョン レポートをダウンロードします。レポートの期間中に少なくとも 1 つのコンバージョンが Floodlight アクティビティに関連付けられている場合、レポートには検索広告 360 ID が表示されます。

  • type: コンバージョンのタイプ(ACTION または TRANSACTION)。ACTION コンバージョンには金銭的価値はありませんが、TRANSACTION コンバージョンには金銭的価値があります。たとえば、メーリング リストの登録(ACTION)や e コマースの購入(TRANSACTION)などです。

    TRANSACTION を指定する場合は、次のフィールドも指定する必要があります。

    • revenueMicros: コンバージョンの金銭的価値。

省略可能項目

  • quantityMillis: このコンバージョンの商品アイテム数。たとえば、メールのニュースレターに登録した人の数や、販売されたアイテムの総数などです。ACTION コンバージョンにこのフィールドを指定しない場合は、検索広告 360 により 1000 の値が自動的に挿入されます。
  • currencyCode: トランザクションの収益の通貨。デフォルトでは、収益は広告主の通貨で表示されます。別の通貨を指定すると、指定された収益額が広告主の通貨に換算されます。詳細
    通貨を指定するには、ISO 4217 アルファベット(3 文字)形式を使用します。
    TRANSACTION コンバージョンにのみ適用されます。
  • customMetriccustomDimension: 購入された商品の配送先の国、商品 ID、通話時間など、コンバージョンに関する追加データをアップロードします。詳しくは、カスタム Floodlight 変数のデータをアップロードするをご覧ください。
  • deviceType: コンバージョンが発生したデバイスのタイプを指定します。このフィールドで使用可能な値のリストをご覧ください。

JSON

POST  https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "clickId" : "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with a click ID from your site
    "conversionId" : "test_20130906_04",
    "conversionTimestamp" : "1378710000000",
    "segmentationType" : "FLOODLIGHT",
    "segmentationName" : "Test",
    "type": "TRANSACTION",
    "revenueMicros": "10000000", // 10 million revenueMicros is equivalent to $10 of revenue
    "currencyCode": "USD"
  }]
}
          

Java

  /**
   * Instantiate the Doubleclicksearch service, create conversions, and upload them.
   */
  public static void main(String[] args) throws Exception {

    Doubleclicksearch service = getService(); // See Set Up Your Application.

    // Set up a List to keep track of each conversion you create.
    List<Conversion> conversions = new Vector<Conversion>();

    // Add a conversion to the List.
    addTransactionConversionForVisit(conversions, "COiYmPDTv7kCFcP0KgodOzQAAA", // Replace with a click ID from your site
        "test_" + System.currentTimeMillis(), 10000000L, 1378710000000L);

    // Upload the List and handle the response.
    uploadConversions(conversions, service);
  }


  /**
   * Create a TRANSACTION conversion and add it to a List<Conversion>. This sample hard-codes
   * the segmentation name and currency. You probably wouldn't want your production code to be so brittle.
   */
  private static List<Conversion> addTransactionConversionForVisit(List<Conversion> conversions,
      String clickId, String conversionId, Long revenue, Long timeStamp) {

    Conversion conversion = new Conversion().setClickId(clickId)
        .setConversionId(conversionId)
        .setSegmentationType("FLOODLIGHT")
        .setSegmentationName("Test")
        .setType("TRANSACTION")
        .setRevenueMicros(revenue)
        .setCurrencyCode("USD")
        .setConversionTimestamp(BigInteger.valueOf(timeStamp));

    conversions.add(conversion);
    return conversions;
  }


  /**
   * Convert the List of conversions to a DS ConversionList, send an insert request to DS,
   * and output the response to a file.
   */
  private static void uploadConversions(List<Conversion> conversions, Doubleclicksearch service)
      throws IOException {

    FileOutputStream outputStream =
        new FileOutputStream(new File("./", "InsertConversionsResponse.txt"));
    final PrintStream printStream = new PrintStream(outputStream);

    try {
      // Convert the List to a ConversionList.
      ConversionList conversionList = new ConversionList().setConversion(conversions);

      // Insert an upload request and download the response to a file.
      service.conversion().insert(conversionList).executeAndDownloadTo(printStream);
      printStream.close();
    } catch (GoogleJsonResponseException e) {
      System.err.println("Get request was rejected.");
      for (ErrorInfo error : e.getDetails().getErrors()) {
        System.err.println(error.getMessage());
      }
      System.exit(e.getStatusCode());
    }
  }
            

Python

def insert_conversion(service):
  """Create and upload a TRANSACTION conversion that is attributed to a visit.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().insert(
      body=
      {
          'conversion': [{
              'clickId': 'COiYmPDTv7kCFcP0KgodOzQAAA', // Replace with a click ID from your site
              'conversionId': 'test_20140206_00',
              'conversionTimestamp': '1378710000000',
              'segmentationType': 'FLOODLIGHT',
              'segmentationName': 'Test',
              'type': 'TRANSACTION',
              'revenueMicros': '10000000', // 10 million revenueMicros is equivalent to $10 of revenue
              'currencyCode': 'USD'
              }]
      }
  )

  pprint.pprint(request.execute())

コンバージョンをキーワードのみに関連付ける

コンバージョンをキーワードに関連付けることを第一に考え、広告へのアトリビューションを懸念する必要がない場合は、Search Ads 360 の ID のほとんどを省略して、キーワードの ID と他のいくつかのフィールドのみを指定できます。

必須項目

  • criterionId: キーワード ID です。criterionId を取得するには、TrackerId マクロをランディング ページ URL に追加します。キーワード ID を取得する方法については、検索広告 360 の ID とコンバージョンをご覧ください。
  • conversionId: オフライン コンバージョンの場合は、広告主がこの ID を指定します。広告主は、広告主にとって意味のある任意の ID を指定できます。リクエストの各コンバージョンには一意の ID を指定する必要があります。ID とタイムスタンプの組み合わせは、広告主のすべてのコンバージョン間で一意である必要があります。オンライン コンバージョンの場合、検索広告 360 は、広告主の Floodlight 処理に応じて、dsConversionId または floodlightOrderId をこのプロパティにコピーします。
  • conversionTimestamp: コンバージョンが発生した日時を示します。たとえば、コンバージョンが 2016 年 8 月 5 日(金)午前 11:53:22 東部夏時間(GMT -4:00)に発生する場合は、タイムスタンプをエポックミリ秒単位で指定します(例: 1470412402000)。
  • segmentationType: コンバージョンをアップロードするコンバージョン システムのタイプを指定します。現在サポートされているのは Floodlight コンバージョンのみであるため、このフィールドでは常に FLOODLIGHT を指定する必要があります。
  • segmentationName: 広告主がコンバージョンの報告に使用している Floodlight アクティビティの名前。

    広告主に同じ名前のアクティビティが含まれている場合(アクティビティが異なる Floodlight グループに属している可能性があります)は、アクティビティの名前を変更することをおすすめします。

    または、検索広告 360 が Floodlight アクティビティに割り当てた ID がわかっている場合は、segmentationName フィールドに名前を指定する代わりに、segmentationId で ID を指定できます。(キャンペーン マネージャーでも Floodlight アクティビティに ID が割り当てられますが、キャンペーン マネージャー ID は検索広告 360 の ID とは異なるため、コンバージョンのアトリビューションには使用できません)。Floodlight アクティビティの検索広告 360 ID を表示するには、(検索広告 360 の管理画面または Reporting API を使用して)コンバージョン レポートをダウンロードします。レポートの期間中に少なくとも 1 つのコンバージョンが Floodlight アクティビティに関連付けられている場合、レポートには検索広告 360 ID が表示されます。

  • type: コンバージョンのタイプ(ACTION または TRANSACTION)。ACTION コンバージョンには金銭的価値はありませんが、TRANSACTION コンバージョンには金銭的価値があります。たとえば、メーリング リストの登録(ACTION)や e コマースの購入(TRANSACTION)などです。

    TRANSACTION を指定する場合は、次のフィールドも指定する必要があります。

    • revenueMicros: コンバージョンの金銭的価値。

省略可能項目

  • quantityMillis: このコンバージョンの商品アイテム数。たとえば、メールのニュースレターに登録した人の数や、販売されたアイテムの総数などです。ACTION コンバージョンにこのフィールドを指定しない場合は、検索広告 360 により 1000 の値が自動的に挿入されます。
  • currencyCode: トランザクションの収益の通貨。デフォルトでは、収益は広告主の通貨で表示されます。別の通貨を指定すると、指定された収益額が広告主の通貨に換算されます。詳細
    通貨を指定するには、ISO 4217 アルファベット(3 文字)形式を使用します。
    TRANSACTION コンバージョンにのみ適用されます。
  • customMetriccustomDimension: 購入された商品の配送先の国、商品 ID、通話時間など、コンバージョンに関する追加データをアップロードします。詳しくは、カスタム Floodlight 変数のデータをアップロードするをご覧ください。
  • deviceType: コンバージョンが発生したデバイスのタイプを指定します。このフィールドで使用可能な値のリストをご覧ください。

JSON

POST  https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "criterionId": "43700003491981017", // Replace with your ID
    "conversionId": "customerTransaction73126",
    "conversionTimestamp": "1351196386000",
    "segmentationType": "FLOODLIGHT",
    "segmentationName": "Offline Purchase",
    "type": "TRANSACTION",
    "revenueMicros": "20000000", // 20 million revenueMicros is equivalent to $20 of revenue
    "currencyCode": "USD"
  }]
}

Java

  /**
   * Creates a TRANSACTION conversion, attributes it to a keyword only, and adds it to a List<Conversion>.
   * The example in the preceding section contains the uploadConversions method,
   * which can submit the list as an insert() request.
   */
  private static List<Conversion> addTransactionConversionForKeyword(List<Conversion> conversions,
      Long criterionId, String conversionId, Long revenue, Long timeStamp) {

    Conversion conversion = new Conversion()
        .setCriterionId(criterionId)
        .setConversionId(conversionId)
        .setSegmentationType("FLOODLIGHT")
        .setSegmentationName("Test")
        .setType("TRANSACTION")
        .setRevenueMicros(revenue)
        .setCurrencyCode("USD")
        .setConversionTimestamp(BigInteger.valueOf(timeStamp));

    conversions.add(conversion);
    return conversions;
  }        

Python


def insert_conversion(service):
  """Create and upload a TRANSACTION conversion that is attributed to a keyword only.

  Args:
    service: An authorized Doubleclicksearch service. See Set Up Your Application.
  """
  request = service.conversion().insert(
      body=
      {
          'conversion': [{
              'criterionId': '43700004289911004', // Replace with your ID
              'conversionId': 'test_1378710000000',
              'conversionTimestamp': '1378710000000',
              'segmentationType': 'FLOODLIGHT',
              'segmentationName': 'Test',
              'type': 'TRANSACTION',
              'revenueMicros': '20000000', // 20 million revenueMicros is equivalent to $20 of revenue
              'currencyCode': 'USD'
              }]
      }
  )

  pprint.pprint(request.execute())

サードパーティ アトリビューション モデルからデータをアップロードする

アトリビューション モデルでは、コンバージョン経路内のすべてのアクティビティに対してコンバージョンのクレジットが配分されます。たとえば、ユーザーがコンバージョンに至る前に、有料検索広告、ディスプレイ広告、および別の有料検索広告をクリックした場合、線形アトリビューション モデルでは、各クリックにコンバージョンへの貢献度の 33% が割り当てられます。

検索広告 360 にはアトリビューション モデルが用意されていますが、サードパーティのサービスや、クリックにクレジットを分配するために開発したサービスを使用する場合は、サードパーティのアトリビューション データを検索広告 360 にアップロードして、そのデータをレポートや検索広告 360 入札戦略で使用できます。

始める前に

キャンペーン マネージャーで、カスタム アトリビューション モデルを作成し、検索広告 360 にインポートします。モデルの名前は「External Attribution Model」にします。 これにより、アップロードしたコンバージョン データにアトリビューション モデルが適用されたことを検索広告 360 の機能で認識できるようになります。詳細

必須項目

サードパーティのアトリビューション モデルをコンバージョンに適用するには、Conversion.insert() リクエストで以下のすべてを指定します。

  • clickId: 訪問のクリック ID(大文字と小文字は区別されます)。広告主のウェブログでクリック ID を調べるか、コンバージョンを一覧表示して、別のコンバージョンのクリック ID を使用します。検索広告 360 は、キーワード、広告など、訪問の生成につながった検索広告 360 オブジェクトにコンバージョンを結び付けます。
    検索広告 360 でクリック ID が生成されてから 30 分以上経ってから、該当する ID のコンバージョンをアップロードします。そうしないと、Search Ads 360 API で訪問が認識されない可能性があります。
  • attributionModel: [External Attribution Model] に設定します。詳細
  • countMillis: このクリックに割り当てるコンバージョンに対する貢献度の金額。 リクエストに attributionModel フィールドも含まれている場合にのみ該当します。

    これは、コンバージョン内のアイテム数(ショッピング カート内のアイテム数など)を指定するオプション フィールド quantityMillis と混同しないでください。

  • conversionId: オフライン コンバージョンの場合は、広告主がこの ID を指定します。広告主は、広告主にとって意味のある任意の ID を指定できます。リクエストの各コンバージョンには一意の ID を指定する必要があります。ID とタイムスタンプの組み合わせは、広告主のすべてのコンバージョン間で一意である必要があります。オンライン コンバージョンの場合、検索広告 360 は、広告主の Floodlight 処理に応じて、dsConversionId または floodlightOrderId をこのプロパティにコピーします。
  • conversionTimestamp: コンバージョンが発生した日時を示します。たとえば、コンバージョンが 2016 年 8 月 5 日(金)午前 11:53:22 東部夏時間(GMT -4:00)に発生する場合は、タイムスタンプをエポックミリ秒単位で指定します(例: 1470412402000)。
  • segmentationType: コンバージョンをアップロードするコンバージョン システムのタイプを指定します。現在サポートされているのは Floodlight コンバージョンのみであるため、このフィールドでは常に FLOODLIGHT を指定する必要があります。
  • segmentationName: 広告主がコンバージョンの報告に使用している Floodlight アクティビティの名前。

    広告主に同じ名前のアクティビティが含まれている場合(アクティビティが異なる Floodlight グループに属している可能性があります)は、アクティビティの名前を変更することをおすすめします。

    または、検索広告 360 が Floodlight アクティビティに割り当てた ID がわかっている場合は、segmentationName フィールドに名前を指定する代わりに、segmentationId で ID を指定できます。(キャンペーン マネージャーでも Floodlight アクティビティに ID が割り当てられますが、キャンペーン マネージャー ID は検索広告 360 の ID とは異なるため、コンバージョンのアトリビューションには使用できません)。Floodlight アクティビティの検索広告 360 ID を表示するには、(検索広告 360 の管理画面または Reporting API を使用して)コンバージョン レポートをダウンロードします。レポートの期間中に少なくとも 1 つのコンバージョンが Floodlight アクティビティに関連付けられている場合、レポートには検索広告 360 ID が表示されます。

  • type: コンバージョンのタイプ(ACTION または TRANSACTION)。ACTION コンバージョンには金銭的価値はありませんが、TRANSACTION コンバージョンには金銭的価値があります。たとえば、メーリング リストの登録(ACTION)や e コマースの購入(TRANSACTION)などです。

    TRANSACTION を指定する場合は、次のフィールドも指定する必要があります。

    • revenueMicros: コンバージョンの金銭的価値。

コンバージョンの収益をトラッキングする場合は、モデルがコンバージョン経路の各タッチポイントに収益を配分するようにします。たとえば、3 回の広告クリックを含むコンバージョン経路において、線形アプローチ(各タッチポイントに収益が均等に分配される)をモデルに使用している場合、各クリックはコンバージョンの 33% に関連付けられます。コンバージョンで $100 の収益が得られた場合は、モデルによって各クリックに $33 の収益が配分されることを確認し、revenueMicros には各クリックから $33 の収益のみが指定されていることを確認します。

省略可能項目

  • quantityMillis: このコンバージョンの商品アイテム数。たとえば、メールのニュースレターに登録した人の数や、販売されたアイテムの総数などです。ACTION コンバージョンにこのフィールドを指定しない場合は、検索広告 360 により 1000 の値が自動的に挿入されます。
  • currencyCode: トランザクションの収益の通貨。デフォルトでは、収益は広告主の通貨で表示されます。別の通貨を指定すると、指定された収益額が広告主の通貨に換算されます。詳細
    通貨を指定するには、ISO 4217 アルファベット(3 文字)形式を使用します。
    TRANSACTION コンバージョンにのみ適用されます。
  • customMetriccustomDimension: 購入された商品の配送先の国、商品 ID、通話時間など、コンバージョンに関する追加データをアップロードします。詳しくは、カスタム Floodlight 変数のデータをアップロードするをご覧ください。
  • deviceType: コンバージョンが発生したデバイスのタイプを指定します。このフィールドで使用可能な値のリストをご覧ください。

POST  https://www.googleapis.com/doubleclicksearch/v2/conversion
Authorization: Bearer your OAuth 2.0 access token
Content-type: application/json
{
 "kind": "doubleclicksearch#conversionList",
  "conversion" : [{
    "clickId" : "PP5K8iI6ul7Vw09JZZDEp", // Replace with a click ID from your site
    "conversionId" : "test_20130906_04",
    "conversionTimestamp" : "1378710000000",
    "segmentationType" : "FLOODLIGHT",
    "segmentationName" : "Test",
    "type": "TRANSACTION",
    "attributionModel": "External Attribution Model",
    "countMillis": "330",
    "revenueMicros": "33000000", // 33 million revenueMicros is equivalent to $33 of revenue
    "currencyCode": "USD"
  }]
}
          

検索広告 360 のレスポンスを処理する

検索広告 360 からのレスポンスは、リクエスト内のすべてのコンバージョンの検証とアップロードが正常に完了した場合にのみ成功を示します。

リクエストが成功した場合

リクエストが成功すると、レスポンスには、アップロードされた各コンバージョンの完全な検索広告 360 の内部表現(キャンペーン ID、広告グループ ID、キーワード(条件)ID など)が含まれます。

{
 "kind": "doubleclicksearch#conversionList",
 "conversion": [
  {
   "agencyId": "12300000000000456",
   "advertiserId": "45600000000010291",
   "engineAccountId": "700000000042441",
   "campaignId": "71700000002044839",
   "adGroupId": "58700000032026064",
   "criterionId": "43700004289911004",
   "adId": "0",
   "dsConversionId": "48719131694768384",
   "conversionId": "test_1383157331951",
   "state": "ACTIVE",
   "type": "TRANSACTION",
   "revenueMicros": "20000000",
   "currencyCode": "USD",
   "segmentationType": "FLOODLIGHT",
   "segmentationId": "25700000001464141",
   "segmentationName": "Test",
   "conversionTimestamp": "1378710000000",
   "conversionModifiedTimestamp": "1383157332368"
  },
  ...
 ]
}

リクエストが成功しない場合

1 つ以上のコンバージョンが検証またはアップロードに失敗した場合、レスポンスには、失敗した各コンバージョンのメッセージが含まれます。レスポンスには、正常にアップロードされたコンバージョンに関するメッセージは含まれません。

完全に成功しなかったリクエストに対するレスポンスの例を次に示します。

{
 "error": {
    "errors": [
       {
          "reason": "requestValidation",
          "message": "The request was not valid. Details: [0x0000011F: Advertiser conversion ID ..."
       },
       {
          "reason": "requestValidation",
          "message": "The request was not valid. Details:  [0x00000101: Click ID ..."
       }
    ]
  }
}

各失敗メッセージには、理由と詳細なエラー メッセージという 2 つの重要なフィールドがあります。reason フィールドには、requestValidationinternalErrortransactionFailed、または lateStageRequestError を指定できます。

requestValidation エラー

requestValidation エラーは、コンバージョンのアップロード リクエストのデータの問題を示します(コンバージョンがすでにアップロードされている、clickId が見つからないなど)。このタイプのエラーでは、メッセージの詳細に次の 2 つの項目が含まれます。

  • エラーのタイプを識別する 16 進数コード。コードを独自のスクリプトで使用すると、エラーを特定できます。
  • 検証エラーの説明。

詳しくは、コンバージョンのアップロード エラーに対して検索広告 360 が返す可能性のあるコードと説明の一覧をご覧ください。

その他のエラー

他のすべてのタイプのエラー(internalErrortransactionFailedlateStageRequestError)は、検索広告 360 内に内部問題が発生していることを示します。

エラーへの応答

リクエストが失敗した場合は、後でリクエストの呼び出し全体を再送信してみてください。検索広告 360 では、すでにアップロードされているコンバージョンについては requestValidation エラーが報告されますが、残りのコンバージョンのアップロードは試行されます。

再送信してもエラーが表示される場合は、トラブルシューティング セクションで対処方法をご確認ください。