В этом руководстве представлен список различных типов действий-конверсий, которые можно создать с помощью API Google Рекламы, информация о том, как они сопоставляются с веб-интерфейсом Google Рекламы, а также подробный пример кода , демонстрирующий, как создавать новые действия-конверсии.
Чтобы отслеживать конверсии, настройте ConversionAction
для того type
действия-конверсии, которое вы хотите отслеживать. Например, онлайн-покупка и телефонный звонок требуют разных конверсионных действий.
Лучший способ настроить новые действия-конверсии в API — использовать приведенный ниже пример кода «Добавить действие-конверсию» . Образец выполняет все задачи фоновой проверки подлинности и помогает создать ConversionAction
.
Большинство действий-конверсий также требуют дополнительных действий с вашей стороны для их отслеживания. Например, чтобы отслеживать конверсии на вашем веб-сайте, вам необходимо добавить фрагмент кода, называемый тегом , на страницу конверсий на вашем веб-сайте. Другие требования к действию-конверсии можно найти в статье нашего Справочного центра .
Конверсии веб-сайта
Преобразование веб-сайта позволяет отслеживать действия на веб-сайте, такие как онлайн-продажи, клики по ссылкам, просмотры страниц и регистрации.
Чтобы отслеживать конверсии на своем веб-сайте, необходимо создать ConversionAction
с ConversionActionType
установленным на WEBPAGE
, и добавить фрагмент кода, называемый тегом, на страницу конверсии на вашем веб-сайте.
ConversionAction
охватывает несколько типов конверсий веб-сайта, которые в API различаются по полю type
в каждом TagSnippet
, указанном в поле tag_snippets ConversionAction
.
TagSnippet
предоставляет код отслеживания, который необходимо включить на ваш веб-сайт, чтобы отслеживать ваши действия-конверсии. Для конверсий по кликам на веб-сайте и по номеру телефона требуется event_snippet
, который следует размещать на веб-страницах, обозначающих действие-конверсию, например страница подтверждения оформления заказа или отправки формы для потенциальных клиентов, а также global_site_tag
, который необходимо установить на каждой странице вашего веб-сайта. Вы можете получить оба этих атрибута с помощью ConversionActionService
. Посетите наш Справочный центр для получения дополнительной информации о том, как пометить свои страницы.
В следующей таблице показаны эквивалентные параметры API, которые можно использовать для каждого источника в веб-интерфейсе Google Рекламы:
Тип кода отслеживания | Источник Google Рекламы |
---|---|
WEBPAGE | Веб-сайт, Веб-сайт (Google Analytics (GA4)) |
WEBPAGE_ONCLICK | Веб-сайт, Веб-сайт (Google Analytics (GA4)) |
CLICK_TO_CALL | Клики по номеру телефона |
--- | Веб-сайт (Google Analytics (UA)) |
Конверсии приложений
Конверсия приложения позволяет отслеживать установки мобильных приложений или покупки приложений в Google Play Store .
В следующей таблице показаны эквивалентные параметры API ConversionActionType
, которые можно использовать для каждого источника в веб-интерфейсе Google Рекламы:
Тип действия-конверсии | Источник Google Рекламы |
---|---|
GOOGLE_PLAY_DOWNLOAD | Google Play > Установки |
GOOGLE_PLAY_IN_APP_PURCHASE | Google Play > Покупки в приложении |
Если вы хотите отслеживать другие действия в мобильном приложении с помощью свойств Google Analytics 4 или сторонней аналитики приложений . См. Дополнительные типы действий-конверсий .
Конверсии по телефонным звонкам
Отслеживание конверсий по телефонным звонкам позволяет отслеживать звонки по рекламе, звонки на номера на вашем веб-сайте и клики по номерам на мобильных сайтах.
В следующей таблице показаны эквивалентные параметры API ConversionActionType
, которые можно использовать для каждого источника в веб-интерфейсе Google Рекламы:
Тип действия-конверсии | Источник Google Рекламы |
---|---|
AD_CALL | Звонки из рекламы с использованием номеров телефонов или объявлений только с номером телефона. |
WEBSITE_CALL | Звонки на номер телефона, указанный на вашем сайте |
CLICK_TO_CALL | Клики по номеру на вашем мобильном сайте |
Тип CLICK_TO_CALL
отличается от типа AD_CALL
тем, что он не отслеживает реальные телефонные звонки. Вместо этого CLICK_TO_CALL
отслеживает только клики по номеру телефона с мобильного устройства. Это полезно, если вы не можете использовать номер Google для переадресации для отслеживания телефонных звонков.
AD_CALL
Действие-конверсия AD_CALL
отображается как конверсия «Звонки из рекламы» в веб-интерфейсе Google Рекламы. После создания действия-конверсии AD_CALL
укажите имя его ресурса в поле call_conversion_action
при создании CallAsset
. Объекты звонков позволяют показывать номер телефона прямо в объявлениях.
Звонок считается конверсией, если он длится дольше указанной продолжительности. Значение по умолчанию — 60 секунд.
WEBSITE_CALL
Действие-конверсия WEBSITE_CALL
отображается как конверсия «Звонки с веб-сайта» в веб-интерфейсе Google Рекламы.
В отличие от AD_CALL
, этот трекер требует добавления event_snippet
и global_site_tag
на ваш веб-сайт, чтобы получить динамический номер переадресации Google для отслеживания вызовов по номерам, указанным на вашем веб-сайте. Кроме того, вам необходимо настроить актив звонка и связать его на уровне клиента, кампании или группы объявлений .
Импортировать офлайн-конверсии
В следующей таблице показаны эквивалентные параметры API ConversionActionType
которые можно использовать для каждого источника в веб-интерфейсе Google Рекламы, а также ссылка на документацию для каждого конкретного типа действия-конверсии:
Тип действия-конверсии | Источник Google Рекламы | Руководство по настройке API |
---|---|---|
UPLOAD_CLICKS | Отслеживайте конверсии по кликам и расширенному конверсиям для потенциальных клиентов. | Руководство по загрузке кликов Руководство по расширенному отслеживанию конверсий для потенциальных клиентов |
UPLOAD_CALLS | Отслеживайте конверсии по звонкам | Руководство по настройке API |
STORE_SALES | Отслеживание конверсий и продаж в магазине | Руководство по настройке API |
Расширенное отслеживание конверсий для Интернета
Расширенное отслеживание конверсий для Интернета позволяет отправлять собственные данные о конверсиях для действий-конверсий WEBPAGE
в течение 24 часов после события конверсии, а не одновременно с ним. Это позволяет находить собственные данные из различных источников, таких как база данных клиентов или система CRM.
Дополнительные типы действий-конверсий
API Google Рекламы делает дополнительные типы действий-конверсий доступными в отчетах, но может ограничивать или запрещать создание или изменение этих действий.
Конверсии SKAdNetwork
Если вы запускаете кампании для приложений iOS и внедрили SKAdNetwork , вы можете получить доступ к данным SKAdNetwork, предоставленным Google, на уровне Customer
и Campaign
, используя следующие ресурсы:
Поле отчета | Описание |
---|---|
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. Этот сегмент нельзя применять ни к каким показателям, кроме Значение |
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. |
segments.sk_ad_network_source_domain | Веб-сайт, на котором было показано объявление, которое привело к установке рекламной сети iOS Store Kit. Нулевое значение означает, что этот сегмент неприменим (например, для кампании, отличной от iOS) или не присутствовал ни в одной обратной передаче, отправленной Apple. |
segments.sk_ad_network_source_type | Тип источника, в котором было показано объявление, которое привело к установке рекламной сети iOS Store Kit. Нулевое значение означает, что этот сегмент неприменим (например, кампания, отличная от iOS), или ни исходный домен, ни исходное приложение не присутствовали ни в каких обратных передачах, отправленных Apple. |
segments.sk_ad_network_user_type | Тип пользователя, совершившего конкретную конверсию. |
segments.sk_ad_network_redistributed_fine_conversion_value | Ценность конверсии в этом сегменте включает нулевые значения, которые были перераспределены в ценность конверсии. Этот сегмент представляет собой сумму наблюдаемых значений штрафных конверсий, возвращенных Apple, и смоделированных нулевых значений от Google. |
segments.sk_ad_network_version | Используемая версия API рекламной сети iOS Store Kit. |
Вы также можете сохранить сопоставление ценности конверсии SKAdNetwork для конкретных клиентов, связанных с приложениями iOS, с помощью CustomerSkAdNetworkConversionValueSchema
.
Пример кода 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="v18" ) 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 имеют одно из следующих значений type
:
Преобразование ресурса GA4:
-
GOOGLE_ANALYTICS_4_CUSTOM
-
GOOGLE_ANALYTICS_4_PURCHASE
Вы также можете получить идентификатор ресурса GA4, название свойства и название события из поля
google_analytics_4_settings
.-
Преобразование ресурса Universal Analytics:
-
UNIVERSAL_ANALYTICS_GOAL
-
UNIVERSAL_ANALYTICS_TRANSACTION
-
Вы можете внести следующие изменения в преобразование ресурса GA4:
- Импортируйте конверсию из своего ресурса GA4 в свой аккаунт Google Реклама, изменив ее
status
соHIDDEN
наENABLED
. - Измените поля
primary_for_goal
иcategory
, чтобы указать, как это должно повлиять на ставки и отчеты Google Рекламы . - Обновите его
name
илиvalue_settings
. - Удалите конверсию из своего аккаунта Google Рекламы с помощью операции
remove
.
Любая попытка изменить другие атрибуты импортированной конверсии GA4 или любые атрибуты импортированной конверсии Universal Analytics приводит к ошибке MUTATE_NOT_ALLOWED
. Вы можете внести эти изменения только с помощью пользовательского интерфейса Google Рекламы.
Аналитика Firebase и сторонних приложений
Чтобы импортировать аналитику сторонних приложений или конверсии Firebase , измените status
ConversionAction
со HIDDEN
на ENABLED
с помощью метода mutate
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_SALES
или STORE_SALES_DIRECT_UPLOAD
с помощью API Google Рекламы, API поддерживает загрузку транзакций продаж в магазине .
-
STORE_SALES
-
STORE_SALES_DIRECT_UPLOAD
Типы действий-конверсий, доступных только для чтения
Следующие типы действий-конверсий доступны только для чтения в API Google Рекламы и предоставляются для целей отчетности.
-
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.type
имеет UNKNOWN
. API не поддерживает управление этими действиями-конверсиями, но возвращает их в отчетах, чтобы предоставить полные результаты для ключевых показателей конверсий, таких как metrics.conversions
и metrics.conversions_value
.
Пример кода
В следующем примере кода показан процесс создания нового действия-конверсии. В частности, он создает действие-конверсию с type
UPLOAD_CLICKS
. Это тот же процесс пользовательского интерфейса Google Рекламы, что и при создании нового действия-конверсии с помощью команды «Импорт» > «Импорт вручную с помощью API» или «Загрузка» > «Отслеживание конверсий по кликам» . Он также устанавливает category
DEFAULT
.
Применяются следующие настройки по умолчанию:
API Google Рекламы автоматически задает поле
primary_for_goal
, но вы можете установить это поле явно, чтобы контролировать, как действие-конверсия влияет на отчеты и ставки в вашем аккаунте в сочетании с целями конверсии .API Google Рекламы автоматически устанавливает для
counting_type
значениеMANY_PER_CLICK
. Дополнительные сведения см. в разделе О параметрах подсчета конверсий .API Google Рекламы устанавливает модель атрибуции на основе данных, устанавливая в поле
attribution_model_settings
значениеGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
AttributionModel
.
Ява
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()); } } }
С#
public void Run(GoogleAdsClient client, long customerId) { // Get the ConversionActionService. ConversionActionServiceClient conversionActionService = client.GetService(Services.V18.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 ); } }
Питон
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}".' )
Руби
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
Перл
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::V18::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V18::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V18::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 Реклама и API Google Рекламы поддерживают широкий спектр действий-конверсий, поэтому некоторые правила проверки различаются в зависимости от 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_CLICK
иGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
. -
click_through_lookback_window_days
Установка для этого атрибута значения, выходящего за пределы допустимого диапазона, приводит к ошибке
RangeError.TOO_LOW
илиRangeError.TOO_HIGH
.Для действия-конверсии
AD_CALL
илиWEBSITE_CALL
этот атрибут должен находиться в диапазоне[1,60]
. Для большинства других действий-конверсий допустимый диапазон —[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
value_settings
для действия-конверсииWEBSITE_CALL
илиAD_CALL
должен иметьalways_use_default_value
равноеtrue
. Указание значенияfalse
при создании или обновлении этого значения приводит к ошибкеINVALID_VALUE
.-
view_through_lookback_window_days
Установка для этого атрибута значения, выходящего за пределы допустимого диапазона, приводит к ошибке
RangeError.TOO_LOW
илиRangeError.TOO_HIGH
. Для большинства действий-конверсий допустимый диапазон —[1,30]
.Этот атрибут нельзя установить для действий-конверсий
AD_CALL
илиWEBSITE_CALL
. Указание значения приводит к ошибкеVALUE_MUST_BE_UNSET
.