コンバージョン アクションを作成する

このガイドでは、利用可能なコンバージョン アクションの種類の一覧を示します Google Ads API を使用して作成する方法、これらが Google 広告のウェブにどのように対応するかに関する情報 インターフェース、詳細なコードサンプルを使用して、 新しいコンバージョン アクションを作成します。

コンバージョンを測定するには、 ConversionAction: type / クリックします例: オンライン購入とスマートフォン 異なるコンバージョン アクションが必要です。

API で新しいコンバージョン アクションを設定する際は、 コンバージョン アクションのコード例を以下に追加します。このサンプルでは、 すべてのバックグラウンド認証タスクを自動的に実行し、構成を ConversionAction

ほとんどのコンバージョン アクションでは、トラッキングするための追加手順も必要になる できます。たとえばウェブサイトでのコンバージョンをトラッキングするには、 タグと呼ばれるスニペット ウェブサイトのコンバージョン ページに自動誘導されます。その他のコンバージョン アクションの場合 詳しくは、 ヘルプセンターの記事をご覧ください。

ウェブサイト コンバージョン

ウェブサイト コンバージョンを使うと、ウェブサイトでの行動(オンライン販売、売り上げ、 リンククリック、ページビュー、登録などです。

ウェブサイトでのコンバージョンをトラッキングするには、 ConversionAction 新しい ConversionActionType WEBPAGE に設定し、コンバージョンにタグと呼ばれるコード スニペットを追加する 確認しましょう

ConversionAction には、 ウェブサイト コンバージョンの種類。API 内では、 各フィールドに type フィールド TagSnippettag_snippets フィールド ConversionAction

TagSnippet で提供されるトラッキング コードは、 コンバージョン アクションをトラッキングできるよう、ウェブサイトに追加する。 ウェブサイト電話番号のクリックのコンバージョンには、 event_snippet, 次のようなコンバージョン アクションを示すウェブページに配置する必要があります。 購入手続きの確認ページまたはリードフォームの送信ページ global_site_tag, ウェブサイトのすべてのページにインストールする必要があります。これらのデータは これらの属性を ConversionActionService。チェックアウト ヘルプセンター 詳細を確認できます

次の表に、それぞれの Google 広告のウェブ インターフェースの [参照元]:

トラッキング コードの種類 Google 広告ソース
WEBPAGE ウェブサイト、ウェブサイト(Google アナリティクス(GA4))
WEBPAGE_ONCLICK ウェブサイト、ウェブサイト(Google アナリティクス(GA4))
CLICK_TO_CALL 電話番号のクリック数
--- ウェブサイト(Google アナリティクス(UA))

アプリ コンバージョン

アプリ コンバージョンを使用すると、モバイルアプリのインストールやアプリ内購入をトラッキングできます。 Google Play ストア

次の表に同等の ConversionActionType Google 広告ウェブ インターフェースの [参照元] ごとに使用する API パラメータ:

コンバージョン アクションの種類 Google 広告ソース
GOOGLE_PLAY_DOWNLOAD Google Play >インストール
GOOGLE_PLAY_IN_APP_PURCHASE Google Play >アプリ内購入

Google アナリティクス 4 を使用して他のモバイルアプリ アクションをトラッキングする場合 プロパティまたは 第三者のアプリ分析。 詳しくは、その他のコンバージョン アクション タイプをご覧ください。

通話コンバージョン

通話コンバージョン トラッキング を使用すると、広告経由の通話数や、ウェブサイトに掲載された電話番号への問い合わせ、 モバイルサイトの数値クリック数

次の表に同等の ConversionActionType Google 広告ウェブ インターフェースの [参照元] ごとに使用する API パラメータ:

コンバージョン アクションの種類 Google 広告ソース
AD_CALL 電話番号表示オプションを使用した広告や電話専用広告でのコール コンバージョン
WEBSITE_CALL ウェブサイトに掲載した電話番号への問い合わせ
CLICK_TO_CALL モバイルサイト上で電話番号をクリックします。

CLICK_TO_CALL 型が AD_CALL 型と異なる点は、 実際の通話はトラッキングしません。代わりに、CLICK_TO_CALL は モバイル デバイスから検索することも可能です。この方法は、 通話のトラッキングに使用する Google 広告専用転送電話番号。

AD_CALL

AD_CALL コンバージョン アクションは [通話 Google 広告での Google 広告のコンバージョン ウェブ インターフェースです。「AD_CALL」コンバージョン アクションを作成したら、そのアクションを指定します リソースの作成時に call_conversion_action フィールドに CallAsset電話 アセットを使用すると、 電話番号を広告に直接追加する。

通話が指定の時間を超えた場合、コンバージョンとしてレポートされます。 カウントされます。

WEBSITE_CALL

WEBSITE_CALL コンバージョン アクションは [通話数 ウェブサイトのコンバージョン Google 広告のウェブ インターフェース。

高評価を取り消す AD_CALL, このトラッカーには event_snippet が必要です と global_site_tag を以下に追加します: ウェブサイトにアクセスし、コール トラッキング用の動的な Google 広告専用転送電話番号を取得 ウェブサイトに掲載された番号に基づいて 広告を表示しますまた、電話 アセットを参照し、 広告グループ単位で参照できます。

オフライン コンバージョンのインポート

次の表に同等の ConversionActionType Google 広告ウェブ インターフェースの [参照元] ごとに使用する API パラメータ および、各タイプのコンバージョン アクションに関するドキュメントへのリンク:

コンバージョン アクションの種類 Google 広告ソース API 設定ガイド
UPLOAD_CLICKS クリックに起因するコンバージョンと拡張コンバージョンをトラッキング: 見込み顧客 クリックに関するガイドのアップロード
拡張 リードのコンバージョン ガイド
UPLOAD_CALLS 電話での問い合わせによるコンバージョンをトラッキング API 設定ガイド
STORE_SALES 店舗販売のコンバージョンをトラッキングする API の設定 ガイド

拡張コンバージョン(ウェブ向け)

拡張コンバージョンの ウェブを使用すると、 WEBPAGE 件のコンバージョン アクションのファーストパーティ コンバージョン データ(過去 24 時間以内) 両方を同時に設定することはできませんこれにより 顧客データベースや CRM など、さまざまなソースからのファーストパーティ データ ありません

その他のコンバージョン アクションの種類

Google Ads API では、レポートで使用できるコンバージョン アクションの種類が増え、 こうした行為の作成または変更を制限または禁止する場合があります。

SKAdNetwork コンバージョン

iOS アプリ キャンペーンを運用している場合 すでに SKAdNetwork では、 Customer および Campaign レベルで Google に提供された SKAdNetwork データ: 次のリソースをご覧ください。

レポート フィールド 説明
metrics.sk_ad_network_installs Apple から報告されたインストール数。この指標は分割できません segments.sk_ad_network_conversion_value と 日付関連のセグメント
metrics.sk_ad_network_total_conversions コンバージョンの合計数(インストール数やその他のタイプを含む) Apple がレポートするコンバージョン数ですこの指標は SKAdNetwork 関連のセグメントと日付関連のセグメント。
segments.sk_ad_network_ad_event_type 特定のコンバージョンで発生したイベントの種類。
segments.sk_ad_network_attribution_credit 特定のコンバージョンの貢献度を割り当てる方法。
segments.sk_ad_network_fine_conversion_value

Apple によってレポートされたコンバージョンの値。このセグメントは適用できません metrics.sk_ad_network_installs以外の指標への割り当て metrics.sk_ad_network_total_conversions 日付関連のセグメントとのみ組み合わせることができます。

Apple が次の値を報告した場合、0 の値が返されます。 0。それ以外の場合は値なし。<ph type="x-smartling-placeholder"></ph>を確認してください フィールド プレゼンスを使用して 2 つのケースを区別します。

segments.sk_ad_network_coarse_conversion_value 個々のコンバージョンの大まかな値。
segments.sk_ad_network_postback_sequence_index 特定のコンバージョンのポストバックの位置(順序)。
segments.sk_ad_network_source_app.sk_ad_network_source_app_id iOS ストアキットの広告ネットワークのインストールを促進した広告のアプリ ID 表示されます。
segments.sk_ad_network_source_domain iOS Store Kit 広告ネットワークのインストールを促進した広告のウェブサイト: 表示されます。値が null の場合、このセグメントは適用できません。たとえば、 または Apple から送信されたポストバックに含まれなかった広告です。
segments.sk_ad_network_source_type iOS ストアキットの広告ネットワークのインストールを促進した広告のソースタイプ 表示されました。値が null の場合、このセグメントは適用できません。たとえば、 (ソースドメインもソースアプリも含まれていなかった) Apple から送信されるポストバックです
segments.sk_ad_network_user_type 特定のコンバージョンを発生させたユーザーのタイプ。
segments.sk_ad_network_redistributed_fine_conversion_value このセグメントのコンバージョン値には、次のコンバージョンに至った null 値が含まれます。 コンバージョン値に再分配されます。このセグメントは Apple から返された正確なコンバージョン値を確認し、null 値を推定 提供します。
segments.sk_ad_network_version 使用された iOS Store Kit Ad Network API のバージョン。

特定のリンク先の SKAdNetwork コンバージョン値のマッピングを保存することもできます。 CustomerSkAdNetworkConversionValueSchema で iOS アプリを利用している顧客。

Python サンプルコード

#!/usr/bin/env python
# Copyright 2019 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse
import sys

from google.ads.googleads.client import GoogleAdsClient
from google.ads.googleads.errors import GoogleAdsException

def main(client, customer_id):
    """Adds a keyword plan, campaign, ad group, etc. to the customer account.

    Also handles errors from the API and prints them.

    Args:
        client: An initialized instance of GoogleAdsClient
        customer_id: A str of the customer_id to use in requests.
    """

    res = update_skan_cv_schema(
        client, customer_id, "my_app_id", "account_link_id"
    )
    print(res)

def update_skan_cv_schema(client, customer_id, app_id, account_link_id):
    skan_service = client.get_service(
        "CustomerSkAdNetworkConversionValueSchemaService"
    )

    req = client.get_type(
        "MutateCustomerSkAdNetworkConversionValueSchemaRequest"
    )
    operation = client.get_type(
        "CustomerSkAdNetworkConversionValueSchemaOperation"
    )
    schema_instance = client.get_type(
        "CustomerSkAdNetworkConversionValueSchema"
    )

    new_schema = operation.update
    new_schema.resource_name = (
        skan_service.customer_sk_ad_network_conversion_value_schema_path(
            "customer_id", "account_link_id"
        )
    )
    new_schema.schema.app_id = app_id
    new_schema.schema.measurement_window_hours = 48

    skan_cv_mapping = (
        schema_instance.SkAdNetworkConversionValueSchema.FineGrainedConversionValueMappings()
    )
    skan_cv_mapping.fine_grained_conversion_value = 0  # 0 - 63
    skan_cv_mapping.conversion_value_mapping.min_time_post_install_hours = 0
    skan_cv_mapping.conversion_value_mapping.max_time_post_install_hours = 48

    skan_cv_event = schema_instance.SkAdNetworkConversionValueSchema.Event()
    skan_cv_event.mapped_event_name = "TEST"
    skan_cv_event.event_revenue_value = 10

    skan_cv_mapping.conversion_value_mapping.mapped_events.append(skan_cv_event)
    new_schema.schema.fine_grained_conversion_value_mappings.append(
        skan_cv_mapping
    )

    req.operation = operation
    req.customer_id = customer_id

    res = skan_service.mutate_customer_sk_ad_network_conversion_value_schema(
        req
    )
    return res

if __name__ == "__main__":
    # GoogleAdsClient will read the google-ads.yaml configuration file in the
    # home directory if none is specified.
    googleads_client = GoogleAdsClient.load_from_storage(
        version="v17"
    )

    parser = argparse.ArgumentParser(
        description="Creates a keyword plan for specified customer."
    )
    # The following argument(s) should be provided to run the example.
    parser.add_argument(
        "-c",
        "--customer_id",
        type=str,
        required=True,
        help="The Google Ads customer ID.",
    )
    args = parser.parse_args()

    try:
        main(googleads_client, args.customer_id)
    except GoogleAdsException as ex:
        print(
            f'Request with ID "{ex.request_id}" failed with status '
            f'"{ex.error.code().name}" and includes the following errors:'
        )
        for error in ex.failure.errors:
            print(f'\tError with message "{error.message}".')
            if error.location:
                for field_path_element in error.location.field_path_elements:
                    print(f"\t\tOn field: {field_path_element.field_name}")
        sys.exit(1)
  

Google アナリティクス

リンクされた Google アナリティクス プロパティのコンバージョンは次のいずれかです type の値:

  • GA4 プロパティの変換:

    • GOOGLE_ANALYTICS_4_CUSTOM
    • GOOGLE_ANALYTICS_4_PURCHASE

    GA4 プロパティ ID、プロパティ名、イベント名は google_analytics_4_settings 表示されます。

  • ユニバーサル アナリティクス プロパティのコンバージョン:

    • UNIVERSAL_ANALYTICS_GOAL
    • UNIVERSAL_ANALYTICS_TRANSACTION

GA4 プロパティのコンバージョンには、次の変更を加えることができます。

  • コンバージョンを GA4 プロパティから Google 広告アカウントにインポートする status フィールドを HIDDEN から ENABLED に変更します。
  • primary_for_goal フィールドと category フィールドを変更して、方法を指定する Google 広告の入札とレポートに影響する
  • name または value_settings を更新します。
  • remove オペレーションを使用して、Google 広告アカウントからコンバージョンを削除します。

インポートされた GA4 コンバージョンの他の属性を変更しようとする試み、またはなんらかの インポートされたユニバーサル アナリティクス コンバージョンの属性に基づいて、 MUTATE_NOT_ALLOWED エラー。これらの変更は、Google 広告の管理画面からのみ行えます。

Firebase と第三者のアプリ分析

インポート 第三者のアプリ分析 またはFirebase コンバージョンに基づく ルールの statusmutate メソッドを使用して ConversionActionHIDDEN から ENABLEDConversionActionService更新 app_id は以下に対応していません 確認できます

  • FIREBASE_ANDROID_FIRST_OPEN
  • FIREBASE_ANDROID_IN_APP_PURCHASE
  • FIREBASE_ANDROID_CUSTOM
  • FIREBASE_IOS_FIRST_OPEN
  • FIREBASE_IOS_IN_APP_PURCHASE
  • FIREBASE_IOS_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_ANDROID_CUSTOM
  • THIRD_PARTY_APP_ANALYTICS_IOS_FIRST_OPEN
  • THIRD_PARTY_APP_ANALYTICS_IOS_IN_APP_PURCHASE
  • THIRD_PARTY_APP_ANALYTICS_IOS_CUSTOM

ショップでの販売

ただし、STORE_SALES または STORE_SALES_DIRECT_UPLOAD は作成できません。 コンバージョン アクションをサポートしていますが、この API ではショップの 販売取引

  • STORE_SALES
  • STORE_SALES_DIRECT_UPLOAD

その他

次のコンバージョン アクション タイプは Google Ads API では読み取り専用で、 使用できます。

  • ANDROID_APP_PRE_REGISTRATION
  • ANDROID_INSTALLS_ALL_OTHER_APPS
  • FLOODLIGHT_ACTION
  • FLOODLIGHT_TRANSACTION
  • GOOGLE_HOSTED
  • LEAD_FORM_SUBMIT
  • SALESFORCE
  • SEARCH_ADS_360
  • SMART_CAMPAIGN_AD_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_CLICKS_TO_CALL
  • SMART_CAMPAIGN_MAP_DIRECTIONS
  • SMART_CAMPAIGN_TRACKED_CALLS
  • STORE_VISITS
  • WEBPAGE_CODELESS

不明

Google 広告アカウントに他の種類のコンバージョン アクションが含まれている場合は、 クエリやレポートが返すコンバージョン アクションは、 ConversionAction.typeUNKNOWN である。 この API では、これらのコンバージョン アクションの管理はサポートされていませんが、 レポートを作成できます。たとえば、 metrics.conversionsmetrics.conversions_value

サンプルコード

次のコード例は、新規メッセージを作成するプロセスを示しています。 選択します具体的には、コンバージョン アクションを作成し、 type を次に設定しました: UPLOAD_CLICKS。 これは、Google 広告の管理画面で新しいコンバージョン アクションを作成する手順と同じです。 インポート >API またはアップロードを使用した手動インポート >コンバージョンをトラッキング: クリック数。また、category も設定します。 DEFAULT に送信。

次のデフォルト設定が適用されます。

Java

private void runExample(GoogleAdsClient googleAdsClient, long customerId) {

  // Creates a ConversionAction.
  ConversionAction conversionAction =
      ConversionAction.newBuilder()
          // Note that conversion action names must be unique. If a conversion action already
          // exists with the specified conversion_action_name the create operation will fail with
          // a ConversionActionError.DUPLICATE_NAME error.
          .setName("Earth to Mars Cruises Conversion #" + getPrintableDateTime())
          .setCategory(ConversionActionCategory.DEFAULT)
          .setType(ConversionActionType.WEBPAGE)
          .setStatus(ConversionActionStatus.ENABLED)
          .setViewThroughLookbackWindowDays(15L)
          .setValueSettings(
              ValueSettings.newBuilder()
                  .setDefaultValue(23.41)
                  .setAlwaysUseDefaultValue(true)
                  .build())
          .build();

  // Creates the operation.
  ConversionActionOperation operation =
      ConversionActionOperation.newBuilder().setCreate(conversionAction).build();

  try (ConversionActionServiceClient conversionActionServiceClient =
      googleAdsClient.getLatestVersion().createConversionActionServiceClient()) {
    MutateConversionActionsResponse response =
        conversionActionServiceClient.mutateConversionActions(
            Long.toString(customerId), Collections.singletonList(operation));
    System.out.printf("Added %d conversion actions:%n", response.getResultsCount());
    for (MutateConversionActionResult result : response.getResultsList()) {
      System.out.printf(
          "New conversion action added with resource name: '%s'%n", result.getResourceName());
    }
  }
}
      

C#

public void Run(GoogleAdsClient client, long customerId)
{
    // Get the ConversionActionService.
    ConversionActionServiceClient conversionActionService =
        client.GetService(Services.V17.ConversionActionService);

    // Note that conversion action names must be unique.
    // If a conversion action already exists with the specified name the create operation
    // will fail with a ConversionAction.DUPLICATE_NAME error.
    string ConversionActionName = "Earth to Mars Cruises Conversion #"
        + ExampleUtilities.GetRandomString();

    // Add a conversion action.
    ConversionAction conversionAction = new ConversionAction()
    {
        Name = ConversionActionName,
        Category = ConversionActionCategory.Default,
        Type = ConversionActionType.Webpage,
        Status = ConversionActionStatus.Enabled,
        ViewThroughLookbackWindowDays = 15,
        ValueSettings = new ConversionAction.Types.ValueSettings()
        {
            DefaultValue = 23.41,
            AlwaysUseDefaultValue = true
        }
    };

    // Create the operation.
    ConversionActionOperation operation = new ConversionActionOperation()
    {
        Create = conversionAction
    };

    try
    {
        // Create the conversion action.
        MutateConversionActionsResponse response =
            conversionActionService.MutateConversionActions(customerId.ToString(),
                    new ConversionActionOperation[] { operation });

        // Display the results.
        foreach (MutateConversionActionResult newConversionAction in response.Results)
        {
            Console.WriteLine($"New conversion action with resource name = " +
                $"'{newConversionAction.ResourceName}' was added.");
        }
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}
      

PHP

public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    // Creates a conversion action.
    $conversionAction = new ConversionAction([
        // Note that conversion action names must be unique.
        // If a conversion action already exists with the specified conversion_action_name
        // the create operation will fail with a ConversionActionError.DUPLICATE_NAME error.
        'name' => 'Earth to Mars Cruises Conversion #' . Helper::getPrintableDatetime(),
        'category' => ConversionActionCategory::PBDEFAULT,
        'type' => ConversionActionType::WEBPAGE,
        'status' => ConversionActionStatus::ENABLED,
        'view_through_lookback_window_days' => 15,
        'value_settings' => new ValueSettings([
            'default_value' => 23.41,
            'always_use_default_value' => true
        ])
    ]);

    // Creates a conversion action operation.
    $conversionActionOperation = new ConversionActionOperation();
    $conversionActionOperation->setCreate($conversionAction);

    // Issues a mutate request to add the conversion action.
    $conversionActionServiceClient = $googleAdsClient->getConversionActionServiceClient();
    $response = $conversionActionServiceClient->mutateConversionActions(
        MutateConversionActionsRequest::build($customerId, [$conversionActionOperation])
    );

    printf("Added %d conversion actions:%s", $response->getResults()->count(), PHP_EOL);

    foreach ($response->getResults() as $addedConversionAction) {
        /** @var ConversionAction $addedConversionAction */
        printf(
            "New conversion action added with resource name: '%s'%s",
            $addedConversionAction->getResourceName(),
            PHP_EOL
        );
    }
}
      

Python

def main(client, customer_id):
    conversion_action_service = client.get_service("ConversionActionService")

    # Create the operation.
    conversion_action_operation = client.get_type("ConversionActionOperation")

    # Create conversion action.
    conversion_action = conversion_action_operation.create

    # Note that conversion action names must be unique. If a conversion action
    # already exists with the specified conversion_action_name, the create
    # operation will fail with a ConversionActionError.DUPLICATE_NAME error.
    conversion_action.name = f"Earth to Mars Cruises Conversion {uuid.uuid4()}"
    conversion_action.type_ = (
        client.enums.ConversionActionTypeEnum.UPLOAD_CLICKS
    )
    conversion_action.category = (
        client.enums.ConversionActionCategoryEnum.DEFAULT
    )
    conversion_action.status = client.enums.ConversionActionStatusEnum.ENABLED
    conversion_action.view_through_lookback_window_days = 15

    # Create a value settings object.
    value_settings = conversion_action.value_settings
    value_settings.default_value = 15.0
    value_settings.always_use_default_value = True

    # Add the conversion action.
    conversion_action_response = (
        conversion_action_service.mutate_conversion_actions(
            customer_id=customer_id,
            operations=[conversion_action_operation],
        )
    )

    print(
        "Created conversion action "
        f'"{conversion_action_response.results[0].resource_name}".'
    )
      

Ruby

def add_conversion_action(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new


  # Add a conversion action.
  conversion_action = client.resource.conversion_action do |ca|
    ca.name = "Earth to Mars Cruises Conversion #{(Time.new.to_f * 100).to_i}"
    ca.type = :UPLOAD_CLICKS
    ca.category = :DEFAULT
    ca.status = :ENABLED
    ca.view_through_lookback_window_days = 15

    # Create a value settings object.
    ca.value_settings = client.resource.value_settings do |vs|
      vs.default_value = 15
      vs.always_use_default_value = true
    end
  end

  # Create the operation.
  conversion_action_operation = client.operation.create_resource.conversion_action(conversion_action)

  # Add the ad group ad.
  response = client.service.conversion_action.mutate_conversion_actions(
    customer_id: customer_id,
    operations: [conversion_action_operation],
  )

  puts "New conversion action with resource name = #{response.results.first.resource_name}."
end
      

Perl

sub add_conversion_action {
  my ($api_client, $customer_id) = @_;

  # Note that conversion action names must be unique.
  # If a conversion action already exists with the specified conversion_action_name,
  # the create operation fails with error ConversionActionError.DUPLICATE_NAME.
  my $conversion_action_name = "Earth to Mars Cruises Conversion #" . uniqid();

  # Create a conversion action.
  my $conversion_action =
    Google::Ads::GoogleAds::V17::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V17::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V17::Services::ConversionActionService::ConversionActionOperation
    ->new({create => $conversion_action});

  # Add the conversion action.
  my $conversion_actions_response =
    $api_client->ConversionActionService()->mutate({
      customerId => $customer_id,
      operations => [$conversion_action_operation]});

  printf "New conversion action added with resource name: '%s'.\n",
    $conversion_actions_response->{results}[0]{resourceName};

  return 1;
}
      

このサンプルは、クライアント ライブラリの リマーケティング フォルダでも確認できます。 コードサンプル コレクション「コンバージョン アクション コードを追加 例をご覧ください。

検証

Google 広告と Google Ads API は、さまざまなコンバージョン アクションをサポートしているため、 検証ルールは、type あります。

コンバージョン アクションの作成時に最もよくあるエラーは、 DUPLICATE_NAME。 コンバージョン アクションごとに一意の名前を使用してください。

ConversionAction フィールドの設定に関するヒントは次のとおりです。

すべての列挙型フィールド
列挙型フィールドを UNKNOWN に設定しようとすると、 RequestError.INVALID_ENUM_VALUE エラー。
app_id
app_id 属性は不変であり、新規作成するときにのみ設定できます。 アプリ コンバージョン。
attribution_model_settings
これを非推奨化 オプション 結果は次のようになります。 CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS エラーが発生します。Google 広告は、GOOGLE_ADS_LAST_CLICKGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
click_through_lookback_window_days

この属性を許容範囲外の値に設定すると、 RangeError.TOO_LOW エラーまたは RangeError.TOO_HIGH エラー。

この属性は、[1,60] AD_CALL または WEBSITE_CALL 件のコンバージョン アクションがあります。他のほとんどのコンバージョン アクションでは、 許可される範囲は [1,30] です。

include_in_conversions_metric

create または update オペレーションでこの値の設定は失敗し、 FieldError.IMMUTABLE_FIELD エラー。代わりに、primary_for_goal を次のように設定します。 コンバージョン目標ガイドをご覧ください。

phone_call_duration_seconds

電話問い合わせ以外のコンバージョン アクションにこの属性を設定しようとしています FieldError.VALUE_MUST_BE_UNSET エラーが発生します。

type

type 属性は不変であり、新規作成するときにのみ設定できます。 なります。

type が次と等しいコンバージョン アクションを更新する UNKNOWN の結果 MutateError.MUTATE_NOT_ALLOWED エラー。

value_settings

WEBSITE_CALL」または「AD_CALL」のコンバージョン アクションでは、value_settingsを必ず設定する必要があります。 always_use_default_valuetrue に設定されている。値 false を指定する この値を作成または更新すると、INVALID_VALUE エラーが発生します。

view_through_lookback_window_days

この属性を許容範囲外の値に設定すると、 RangeError.TOO_LOW エラーまたは RangeError.TOO_HIGH エラー。ほとんどのコンバージョンが対象 指定できる範囲は [1,30] です。

この属性は、AD_CALL または WEBSITE_CALL のコンバージョンでは設定できません できます。値を指定すると、VALUE_MUST_BE_UNSET エラーが発生します。