创建转化操作

本指南列出了您可以使用的 使用 Google Ads API 创建,有关如何将这些数据映射到 Google Ads 网站的信息, 接口和一个详细的代码示例 创建新的转化操作。

要衡量转化情况,请设置 ConversionAction,适用于 type/ 您要跟踪的转化操作。例如,某次网上购物和一部手机 需要不同的转化操作。

在 API 中设置新转化操作的最佳方法是使用 添加下面的转化操作代码示例。示例句柄 所有后台身份验证任务,并指导您创建 一个 ConversionAction

对于大多数转化操作,您还需要执行一些额外的步骤才能进行跟踪 。例如,要跟踪您网站上的转化情况,您必须添加代码 代码段(称为代码) 转化页。对于其他转化操作 请参阅我们的 帮助中心文章

网站转化

通过网站转化,您可以跟踪网站操作,例如在线销售、 链接点击次数、网页浏览量和注册量。

要跟踪您网站上的转化情况,您必须创建一个 ConversionAction 替换为 ConversionActionType 设置为 WEBPAGE,然后向该转化添加一个名为代码的代码段 网页上的各个网页

ConversionAction 包含一些 网站转化类型(在 API 中按 type字段 TagSnippet列于 的tag_snippets字段 ConversionAction

TagSnippet 提供的跟踪代码必须 添加到您的网站中,以便跟踪您的转化操作。 网站电话号码点击转化要求 event_snippet, (应放置在指明转化操作的网页上, 结账确认页面或潜在客户表单提交页面,以及 global_site_tag, 您必须在网站的每个网页上都添加这个代码您可以同时检索 属性与 ConversionActionService。结账 请访问帮助中心 了解如何标记网页的信息。

下表显示了与各指标相对应的等效 API 参数 Google Ads 网页界面中的来源

跟踪代码类型 Google Ads 来源
WEBPAGE 网站、网站 (Google Analytics (GA4))
WEBPAGE_ONCLICK 网站、网站 (Google Analytics (GA4))
CLICK_TO_CALL 电话号码点击
--- 网站(UA 版 Google Analytics)

应用转化次数

借助应用转化,您可以跟踪 Google Play 商店

下表显示了等效的 ConversionActionType 用于 Google Ads 网页界面中每个来源的 API 参数:

转化操作类型 Google Ads 来源
GOOGLE_PLAY_DOWNLOAD Google Play >安装次数
GOOGLE_PLAY_IN_APP_PURCHASE Google Play >应用内购买

如果您希望使用 Google Analytics 4 跟踪其他移动应用操作 属性第三方应用分析工具。 请参阅其他转化操作类型

致电转化

来电转化跟踪 您可以跟踪直接从广告中拨打的来电次数、拨打网站上电话号码的来电次数 移动网站上的电话号码点击次数。

下表显示了等效的 ConversionActionType 用于 Google Ads 网页界面中每个来源的 API 参数:

转化操作类型 Google Ads 来源
AD_CALL 从带附加电话信息的广告或来电专用广告中致电
WEBSITE_CALL 用户拨打您网站上的电话号码的次数
CLICK_TO_CALL 点击移动网站上的电话号码

CLICK_TO_CALL 类型与 AD_CALL 类型的区别在于,它会 不会跟踪实际的来电次数CLICK_TO_CALL 只会跟踪 通过移动设备访问自己的手机号码如果您无法使用 用于跟踪来电的 Google 转接电话号码。

AD_CALL

一个 AD_CALL 转化操作显示为来自以下用户的来电: Google Ads 中的广告转化 网页界面创建AD_CALL转化操作后,请指定其 请在 call_conversion_action 字段中填写资源名称 CallAsset致电 素材资源 直接在广告中添加电话号码

如果致电的时长超过指定的持续时间,系统就会将致电报告为转化。 默认值是 60 秒。

WEBSITE_CALL

WEBSITE_CALL 转化操作显示为来自指定设备的来电 网站转化 Google Ads 网页界面。

取消点赞 AD_CALL, 此追踪器需要 event_snippetglobal_site_tag将添加到 您的网站来检索用于来电跟踪的动态 Google 转接电话号码 。此外,您必须设置调用 资源将其关联到 客户、广告系列或广告组级别

导入线下转化数据

下表显示了等效的 ConversionActionType 用于 Google Ads 网页界面中每个来源的 API 参数 以及指向每种特定转化操作类型对应的文档的链接:

转化操作类型 Google Ads 来源 API 设置指南
UPLOAD_CLICKS 跟踪点击带来的转化和增强型转化 潜在客户 上传点击指南
增强型 “潜在客户转化”指南
UPLOAD_CALLS 跟踪致电后发生的转化 API 设置指南
STORE_SALES 跟踪实体店销售转化 API 设置 指南

增强型网站转化

针对 网页版可让您 WEBPAGE 项转化操作的 24 小时内的第一方转化数据 而非同时跟踪转化事件。这样,您便能找到 来自各种来源(例如客户数据库或 CRM)的第一方数据 系统。

其他转化操作类型

Google Ads API 在报告中提供了其他类型的转化操作 但可能会限制或禁止创建或修改此类操作。

SKAdNetwork 转化次数

如果您投放 iOS 应用广告系列 并已实现 SKAdNetwork, 使用CustomerCampaign 以下资源:

报告字段 说明
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,否则为无值。查看 字段存在来区分这两种情况。

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 Store Kit Ad Network 安装的广告的应用 ID 为 。
segments.sk_ad_network_source_domain 带来 iOS Store Kit Ad Network 安装的广告的网站是 。null 值表示此细分不适用。例如, 或不存在于 Apple 发送的任何回传中。
segments.sk_ad_network_source_type 带来 iOS Store Kit Ad Network 安装的广告的来源类型 。null 值表示此细分不适用。例如, 非 iOS 广告系列 - 或者其中既未包含来源网域,也未包含来源应用 Apple 发送的任何回传。
segments.sk_ad_network_user_type 促成特定转化的用户类型。
segments.sk_ad_network_redistributed_fine_conversion_value 此细分中的转化价值包含 重新分配给转化价值。该细分代表 观测到 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 Analytics

来自关联的 Google Analytics 媒体资源的转化包含以下任一项 type 值:

  • GA4 媒体资源转化:

    • GOOGLE_ANALYTICS_4_CUSTOM
    • GOOGLE_ANALYTICS_4_PURCHASE

    您还可以从以下位置检索 GA4 媒体资源 ID、媒体资源名称和事件名称: 该 google_analytics_4_settings 字段。

  • Universal Analytics 媒体资源转化:

    • UNIVERSAL_ANALYTICS_GOAL
    • UNIVERSAL_ANALYTICS_TRANSACTION

您可以对 GA4 媒体资源转化进行以下更改:

  • 通过以下方式将转化数据从 GA4 媒体资源导入 Google Ads 账号: 将其 status 字段从 HIDDEN 修改为 ENABLED
  • 修改其 primary_for_goalcategory 字段,指明应如何 影响 Google Ads 出价和报告
  • 更新其 namevalue_settings
  • 使用 remove 操作从您的 Google Ads 账号中移除该转化。

尝试修改已导入的 GA4 转化的其他属性,或任何 导入的 Universal Analytics 转化的属性, MUTATE_NOT_ALLOWED 个错误。您只能使用 Google Ads 界面进行这些更改。

Firebase 和第三方应用分析

导入方法 第三方应用分析工具Firebase 转化数据, status 使用 mutate 方法将 ConversionActionHIDDEN 转换为 ENABLED ConversionActionService。更新 以下语言不支持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_SALESSTORE_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 Ads 账号包含其他类型的转化操作,您可能会发现 查询和报告会返回符合以下条件的转化操作: ConversionAction.typeUNKNOWN。 该 API 不支持管理这些转化操作,但会在 报告,从而为关键转化指标(例如 metrics.conversionsmetrics.conversions_value

代码示例

以下代码示例将逐步引导您创建新的 转化操作。具体来说,它会创建一项转化操作并采用 type已设为 UPLOAD_CLICKS。 这与使用“新建”操作创建新的转化操作的 Google Ads 界面流程相同 导入 >使用 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 Ads 和 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 Ads 仅支持 GOOGLE_ADS_LAST_CLICKGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
click_through_lookback_window_days

如果将此属性设为允许范围之外的值,则会导致 RangeError.TOO_LOWRangeError.TOO_HIGH 错误。

对于 AD_CALL,此属性必须在 [1,60] 范围内,或 WEBSITE_CALL 项转化操作。对于大多数其他转化操作, 允许的范围为 [1,30]

include_in_conversions_metric

createupdate 操作中设置此值会失败,并显示 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_CALLAD_CALL 转化操作的value_settings必须 将 always_use_default_value 设置为 true。指定值 false 会导致 INVALID_VALUE 错误。

view_through_lookback_window_days

如果将此属性设为允许范围之外的值,则会导致 RangeError.TOO_LOWRangeError.TOO_HIGH 错误。大多数转化 操作,允许的范围为 [1,30]

无法针对 AD_CALLWEBSITE_CALL 转化设置此属性 操作。指定值会导致 VALUE_MUST_BE_UNSET 错误。