Aby rejestrować konwersje, musisz włączyć śledzenie konwersji na koncie konwersji Google Ads. Z tego przewodnika dowiesz się, jak sprawdzić, czy śledzenie konwersji jest włączone, jak je włączyć, jeśli nie jest jeszcze włączone, oraz jak pobrać informacje o istniejących działaniach powodujących konwersję.
W przypadku większości działań powodujących konwersję musisz też wykonać dodatkowe czynności, aby je śledzić. Więcej informacji o różnych typach działań powodujących konwersję i ich wymaganiach znajdziesz w przewodniku Tworzenie działań powodujących konwersję.
Przygotowanie do wyrażenia zgody
Musisz potwierdzić, że masz uprawnienia do udostępniania Google danych o konwersjach. Można to zrobić na 2 sposoby:
- Skonfiguruj domyślne ustawienia dotyczące zgody na poziomie konta. W interfejsie Google Ads kliknij kolejno Narzędzia -> Menedżer danych -> Ustawienia dotyczące zgody -> Domyślne ustawienia dotyczące zgody.
- Ustaw pole ClickConversion.consent w przypadku każdej importowanej konwersji.
Konfigurowanie witryny pod kątem śledzenia konwersji
Jeśli zaczynasz integrację importowania konwersji offline, pierwszym krokiem jest skonfigurowanie witryny pod kątem śledzenia konwersji rozszerzonych dotyczących potencjalnych klientów. W tym celu wykonaj czynności opisane w przewodniku Konfigurowanie tagu Google na potrzeby konwersji rozszerzonych dotyczących potencjalnych klientów . Możesz też skonfigurować witrynę za pomocą Menedżera tagów Google, wykonując czynności opisane w przewodniku Konfigurowanie Menedżera tagów Google na potrzeby konwersji rozszerzonych dotyczących potencjalnych klientów.
Włączanie śledzenia konwersji na koncie konwersji Google Ads
Pobieranie informacji o konfiguracji śledzenia konwersji
Możesz sprawdzić konfigurację śledzenia konwersji na koncie i potwierdzić, że śledzenie konwersji jest włączone, wysyłając zapytanie do Customer zasobu
o ConversionTrackingSetting.
Wyślij to zapytanie za pomocą
GoogleAdsService.SearchStream:
SELECT
customer.conversion_tracking_setting.google_ads_conversion_customer,
customer.conversion_tracking_setting.conversion_tracking_status,
customer.conversion_tracking_setting.conversion_tracking_id,
customer.conversion_tracking_setting.cross_account_conversion_tracking_id
FROM customer
Pole google_ads_conversion_customer wskazuje konto Google Ads, które tworzy konwersje dla tego klienta i nimi zarządza. W przypadku klientów korzystających ze
śledzenia konwersji dla wielu kont,
jest to identyfikator konta menedżera. Identyfikator klienta konwersji Google Ads należy podać jako customer_id w żądaniach interfejsu Google Ads API dotyczących tworzenia konwersji i zarządzania nimi.
Pamiętaj, że to pole jest wypełniane nawet wtedy, gdy śledzenie konwersji nie jest włączone.
Pole
conversion_tracking_status
wskazuje, czy śledzenie konwersji jest włączone i czy konto
korzysta ze śledzenia konwersji dla wielu kont.
Tworzenie działania powodującego konwersję na koncie konwersji Google Ads
Jeśli wartość conversion_tracking_status to NOT_CONVERSION_TRACKED, śledzenie konwersji nie jest włączone na koncie. Aby włączyć śledzenie konwersji
utwórz co najmniej 1 ConversionAction na
koncie konwersji Google Ads, tak jak w tym przykładzie. Możesz też
utworzyć działanie powodujące konwersję w interfejsie, postępując zgodnie z instrukcjami w
Centrum pomocy dotyczącymi
typu konwersji, który chcesz włączyć.
Pamiętaj, że konwersje rozszerzone są włączane automatycznie, gdy są wysyłane przez interfejs Google Ads API, ale można je wyłączyć w interfejsie Google Ads.
Przykładowy kod
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.V24.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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V24::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V24::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V24::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; }
curl
Upewnij się, że conversion_action_type ma prawidłową
ConversionActionType wartość.
Więcej wskazówek dotyczących tworzenia działań powodujących konwersję w interfejsie Google Ads API znajdziesz w artykule Tworzenie działań powodujących konwersję.
Pobieranie istniejącego działania powodującego konwersję
Aby pobrać szczegóły istniejącego działania powodującego konwersję, wyślij to zapytanie. Upewnij się, że identyfikator klienta w żądaniu jest ustawiony na zidentyfikowanego powyżej klienta konwersji Google Ads
, a typ działania powodującego konwersję jest ustawiony
na prawidłową
ConversionActionType
wartość.
SELECT
conversion_action.resource_name,
conversion_action.name,
conversion_action.status
FROM conversion_action
WHERE conversion_action.type = 'INSERT_CONVERSION_ACTION_TYPE'
Śledzenie konwersji dla wielu kont
Jeśli używasz śledzenia konwersji dla wielu kont, ConversionActionService zwraca te
działania powodujące konwersję:
- Wszystkie działania powodujące konwersję zdefiniowane przez konto menedżera używane przez konto do śledzenia konwersji dla wielu kont.
- Wszystkie działania powodujące konwersję, w przypadku których klient zgromadził statystyki, w tym działania zdefiniowane przez system i działania należące do menedżera, nawet jeśli ten menedżer później rozłączy konta.
- Wszystkie działania zdefiniowane przez klienta na jego koncie.
- Konwersje Analytics utworzone w połączonych usługach Google Analytics.
Obejmuje to działania powodujące konwersję w Analytics, które nie zostały zaimportowane do Google Ads,
które mają stan
HIDDEN.
Podczas tworzenia kont klientów możesz włączyć śledzenie konwersji dla wielu kont za pomocą interfejsu Google Ads API.
Podczas tworzenia nowego Customer ustaw
conversion_tracking_setting.google_ads_conversion_customer
na
nazwę zasobu konta menedżera, które ma zarządzać działaniami powodującymi konwersję w imieniu konta klienta.
To konto menedżera musi być też kontem, które wysyła żądanie create dotyczące nowego konta klienta.
Za pomocą interfejsu Google Ads API możesz włączyć śledzenie konwersji dla wielu kont zarówno podczas tworzenia, jak i aktualizowania kont klientów.
Podczas aktualizowania istniejącego konta klienta możesz włączyć śledzenie konwersji dla wielu kont, ustawiając pole
conversion_tracking_setting.google_ads_conversion_customer. To pole powinno być ustawione na
nazwę zasobu konta menedżera
, które ma zarządzać działaniami powodującymi konwersję w imieniu konta klienta.
To konto menedżera musi być też kontem, które wysyła żądanie update dotyczące konta klienta.
UWAGA: używanie interfejsu Google Ads API do modyfikowania ustawień śledzenia konwersji dla wielu kont na koncie klienta jest funkcją dostępną tylko na liście dozwolonych. Aby z niej skorzystać, skontaktuj się z menedżerem konta.
Gdy włączysz śledzenie konwersji dla wielu kont lub zmienisz menedżera śledzenia konwersji na istniejącym koncie klienta, obowiązują te same zastrzeżenia co w przypadku wprowadzenia tej zmiany w interfejsie. Więcej szczegółów:
- Konto klienta przyjmie domyślne reguły wartości konwersji i domyślne cele związane z cyklem życia klienta nowego menedżera śledzenia konwersji.
- Kampanie kierowane na konkretne działanie powodujące konwersję zaczną korzystać z domyślnych celów konwersji konta menedżera. Jeśli nadal będziesz kierować reklamy na konkretne działanie powodujące konwersję, może to powodować niespójności, ponieważ konto menedżera może nie mieć takich samych celów jak konto klienta. Upewnij się, że Twoje kampanie są zoptymalizowane pod kątem odpowiednich celów.
- Jeśli dane konto należy do więcej niż jednego konta menedżera, możesz używać na nim działań powodujących konwersje tylko z jednego konta menedżera. Jeśli nie określisz konta śledzenia konwersji, konto domyślnie będzie używać siebie jako konta śledzenia konwersji.
Tworzenie działań powodujących konwersję
Aby mierzyć konwersje, skonfiguruj a
ConversionAction dla the
type of
działania powodującego konwersję, które chcesz śledzić. Na przykład zakup online i połączenie telefoniczne wymagają różnych działań powodujących konwersję.
Najlepszym sposobem na skonfigurowanie nowych działań powodujących konwersję w interfejsie API jest użycie
przykładowego kodu Dodawanie działania powodującego konwersję poniżej. Przykładowy kod obsługuje
wszystkie zadania uwierzytelniania w tle i przeprowadza Cię przez proces tworzenia
a ConversionAction.
W przypadku większości działań powodujących konwersję musisz też wykonać dodatkowe czynności, aby je śledzić. Aby na przykład śledzić konwersje w witrynie, musisz dodać do strony konwersji w witrynie fragment kodu nazywany tagiem. Szczegółowe wymagania dotyczące innych typów działań powodujących konwersję znajdziesz w tym artykule w Centrum pomocy.
Przykładowy kod
Z tego przykładowego kodu dowiesz się, jak utworzyć nowe działanie powodujące konwersję. W szczególności tworzy on działanie powodujące konwersję z
type ustawionym na
UPLOAD_CLICKS.
Ustawia też category
na DEFAULT.
Obowiązują te ustawienia domyślne:
Interfejs Google Ads API automatycznie ustawia pole
primary_for_goal, ale możesz je ustawić samodzielnie, aby kontrolować, jak działanie powodujące konwersję wpływa na raportowanie i ustalanie stawek na Twoim koncie w połączeniuz celami konwersji.Interfejs Google Ads API automatycznie ustawia
counting_typenaMANY_PER_CLICKWięcej informacji znajdziesz w artykule Opcje zliczania konwersji.Interfejs Google Ads API ustawia model atrybucji na oparty na danych przez ustawienie pola
attribution_model_settingsna wartośćGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVENwAttributionModel. Więcej informacji o modelach atrybucji znajdziesz w tym artykule w Centrum pomocy.
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.V24.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: GoogleAdsClient, customer_id: str) -> None: conversion_action_service: ConversionActionServiceClient = ( client.get_service("ConversionActionService") ) # Create the operation. conversion_action_operation: ConversionActionOperation = client.get_type( "ConversionActionOperation" ) # Create conversion action. conversion_action: ConversionAction = 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: ConversionAction.ValueSettings = ( conversion_action.value_settings ) value_settings.default_value = 15.0 value_settings.always_use_default_value = True # Add the conversion action. conversion_action_response: MutateConversionActionsResponse = ( 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::V24::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V24::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V24::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; }
curl
Ten przykład znajdziesz w folderze Remarketing w bibliotece klienta oraz w zbiorze przykładów kodu: przykład kodu Dodawanie działania powodującego konwersję przykład.
Weryfikacje
Google Ads i interfejs Google Ads API obsługują wiele działań powodujących konwersję, dlatego niektóre
reguły weryfikacji różnią się w zależności od type
działania.
Najczęstszym błędem podczas tworzenia działania powodującego konwersję jest
DUPLICATE_NAME.
Upewnij się, że każde działanie powodujące konwersję ma unikalną nazwę.
Oto kilka wskazówek dotyczących ustawiania pól ConversionAction:
- Wszystkie pola wyliczeniowe
- Próba ustawienia dowolnego pola wyliczeniowego na
UNKNOWNpowoduje błądRequestError.INVALID_ENUM_VALUE. app_id- Atrybut
app_idjest niezmienny i można go ustawić tylko podczas tworzenia nowej konwersji z aplikacji. attribution_model_settings- Ustawienie tego pola na wycofaną
opcję
powoduje błąd
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS. Google Ads obsługuje tylkoGOOGLE_ADS_LAST_CLICKiGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN. click_through_lookback_window_daysUstawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje błąd
RangeError.TOO_LOWlubRangeError.TOO_HIGH.W przypadku działania powodującego konwersję
AD_CALLlubWEBSITE_CALLten atrybut musi mieścić się w zakresie[1,60]. W przypadku większości innych działań powodujących konwersję dozwolony zakres to[1,30].include_in_conversions_metricUstawienie tej wartości w operacji
createlubupdatepowoduje błądFieldError.IMMUTABLE_FIELD. Zamiast tego ustawprimary_for_goalzgodnie z opisem w przewodniku Cele konwersji.phone_call_duration_secondsPróba ustawienia tego atrybutu w przypadku działania powodującego konwersję, które nie dotyczy połączeń, powoduje błąd
FieldError.VALUE_MUST_BE_UNSET.typeAtrybut
typejest niezmienny i można go ustawić tylko podczas tworzenia nowej konwersji.Zaktualizowanie działania powodującego konwersję z
typerównymUNKNOWNpowoduje błądMutateError.MUTATE_NOT_ALLOWED.value_settingsW przypadku działania powodującego konwersję
WEBSITE_CALLlubAD_CALLpolevalue_settingsmusi mieć wartośćalways_use_default_valueustawioną natrue. Określenie wartościfalsepodczas tworzenia lub aktualizowania tej wartości powoduje błądINVALID_VALUE.view_through_lookback_window_daysUstawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje błąd
RangeError.TOO_LOWlubRangeError.TOO_HIGH. W przypadku większości działań powodujących konwersję dozwolony zakres to[1,30].Tego atrybutu nie można ustawić w przypadku działań powodujących konwersję
AD_CALLaniWEBSITE_CALL. Określenie wartości powoduje błądVALUE_MUST_BE_UNSET.