Aby rejestrować konwersje, musisz włączyć śledzenie konwersji na koncie Google Ads. W tym przewodniku znajdziesz szczegółowe informacje o tym, jak sprawdzić, czy śledzenie konwersji jest włączone, włączyć je, jeśli nie jest jeszcze włączone, oraz pobrać informacje o dotychczasowych działaniach powodujących konwersję.
Większość działań powodujących konwersję wymaga też od Ciebie dodatkowych 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ę.
Konfigurowanie witryny pod kątem śledzenia konwersji
Jeśli dopiero zaczynasz integrację importowania konwersji offline, musisz najpierw wykonać czynności opisane w sekcji Konfigurowanie tagu Google na potrzeby konwersji rozszerzonych dotyczących potencjalnych klientów, aby skonfigurować witrynę pod kątem śledzenia konwersji rozszerzonych dotyczących potencjalnych klientów. Konfigurację witryny możesz też przeprowadzić za pomocą Menedżera tagów Google. Aby to zrobić, wykonaj czynności opisane w tym przewodniku.
Włączanie śledzenia konwersji na koncie Google Ads
Pobieranie informacji o konfiguracji śledzenia konwersji
Aby sprawdzić konfigurację śledzenia konwersji na koncie i sprawdzić, czy śledzenie konwersji jest włączone, prześlij zapytanie do zasobu Customer
o identyfikatorze ConversionTrackingSetting
.
Wykonaj to zapytanie:
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. Aby tworzyć konwersje i zarządzać nimi, w żądaniach interfejsu Google Ads API należy podać identyfikator klienta Google Ads jako parametr customer_id
.
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 używa śledzenia konwersji dla wielu kont.
Utwórz działanie powodujące konwersję w ramach klienta konwersji Google Ads.
Jeśli wartość conversion_tracking_status
to NOT_CONVERSION_TRACKED
, śledzenie konwersji nie jest włączone na koncie. Włącz śledzenie konwersji, tworząc co najmniej 1 ConversionAction
na koncie konwersji Google Ads, jak w tym przykładzie. Możesz też utworzyć działanie powodujące konwersję w interfejsie, wykonując instrukcje w Centrum pomocy dotyczące rodzaju 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.V20.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::V20::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V20::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V20::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; }
Upewnij się, że parametr conversion_action_type
ma prawidłową wartość ConversionActionType
.
Więcej wskazówek na temat tworzenia działań powodujących konwersję w interfejsie Google Ads API znajdziesz w artykule Tworzenie działań powodujących konwersję.
Pobieranie dotychczasowego działania powodującego konwersję
Szczegóły dotychczasowego działania powodującego konwersję możesz pobrać, wysyłając to zapytanie. Sprawdź, czy identyfikator klienta w żądaniu odpowiada klientowi Google Ads, którego identyfikator podano powyżej, a typ działania powodującego konwersję ma prawidłową wartość ConversionActionType
.
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, funkcja 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ę, dla których klient ma statystyki, w tym działania zdefiniowane przez system i działania należące do menedżera, nawet jeśli ten menedżer później je odłączy.
- wszystkie działania zdefiniowane przez klienta na jego koncie;
- konwersje Analytics tworzone w połączonych usługach w Google Analytics;
Obejmuje to działania związane z konwersjami Analytics, które nie zostały zaimportowane do Google Ads i mają stan
HIDDEN
.
Od wersji v19.1
możesz używać interfejsu Google Ads API, aby włączyć śledzenie konwersji krzyżowych podczas tworzenia kont klienta.
Podczas tworzenia nowego elementu Customer
ustaw parametr conversion_tracking_setting.google_ads_conversion_customer
na nazwa zasobu konta menedżera, które ma zarządzać działaniami powodującymi konwersję w imieniu konta klienta.
To konto menedżera musi też być kontem, które wysyła create
na nowe konto klienta.
Od wersji v20
możesz używać interfejsu Google Ads API, aby włączyć śledzenie konwersji krzyżowych podczas tworzenia i aktualizowania kont klientów.
Podczas aktualizowania dotychczasowego konta klienta możesz włączyć śledzenie konwersji dla wielu kont, ustawiając pole conversion_tracking_setting.google_ads_conversion_customer
. W tym polu należy podać nazwę zasobu konta menedżera, które ma zarządzać działaniami powodującymi konwersję w imieniu konta klienta.
To konto menedżera musi też być kontem, które wysyła prośbę update
w imieniu konta klienta.
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 wprowadzania tej zmiany w interfejsie użytkownika. Więcej szczegółów:
- Konto klienta przejmie domyślne reguły wartości konwersji i domyślne cele związane z cyklem życia klienta z konfiguracji nowego menedżera śledzenia konwersji.
- Kampanie kierowane na konkretne działanie powodujące konwersję zaczną używać domyślnych celów konwersji na koncie menedżera konwersji. Jeśli nadal będziesz kierować reklamy na konkretne działanie powodujące konwersję, może to spowodować niespójności, ponieważ konto menedżera może nie mieć tych samych celów co konto klienta. Upewnij się, że kampanie są optymalizowane 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 podasz konta śledzenia konwersji, domyślnie będzie ono używane jako konto śledzenia konwersji.
Utwórz działania powodujące konwersję
Aby mierzyć konwersje, skonfiguruj zdarzenie ConversionAction
dla type
działania powodującego konwersję, które chcesz śledzić. Na przykład zakupy online i połączenia telefoniczne wymagają różnych działań powodujących konwersję.
Najlepszym sposobem konfigurowania nowych działań powodujących konwersję w interfejsie API jest użycie przykładu kodu dodawania działania powodującego konwersję poniżej. Przykładowa aplikacja wykonuje za Ciebie wszystkie zadania związane z uwierzytelnianiem w tle i pokazuje, jak utworzyć ConversionAction
.
Większość działań powodujących konwersję wymaga też od Ciebie dodatkowych czynności, aby je śledzić. Aby na przykład śledzić konwersje w witrynie, musisz dodać do strony konwersji w witrynie fragment kodu zwany tagiem. Szczegółowe wymagania dotyczące innych typów działań konwersji znajdziesz w tym artykule w Centrum pomocy.
Przykładowy kod
Z poniższego przykładu kodu dowiesz się, jak utworzyć nowe działanie powodujące konwersję. W szczególności tworzy działanie powodujące konwersję z parametrem type
ustawionym na UPLOAD_CLICKS
.
Ustawia też wartość category
na DEFAULT
.
Domyślnie obowiązują te ustawienia:
Interfejs Google Ads API ustawia pole
primary_for_goal
automatycznie, ale możesz je ustawić wyraźnie, aby kontrolować wpływ działania powodującego konwersję na raportowanie i określanie stawek na koncie po połączeniu go z celami konwersji.Interfejs Google Ads API automatycznie ustawia parametr
counting_type
na wartośćMANY_PER_CLICK
. Więcej informacji znajdziesz w artykule Opcje zliczania konwersji.Interfejs Google Ads API ustawia model atrybucji na sterowany przez dane, ustawiając pole
attribution_model_settings
na wartośćGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
w poluAttributionModel
. Aby dowiedzieć się więcej o modelach atrybucji, przeczytaj ten artykuł 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.V20.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::V20::Resources::ConversionAction->new({ name => $conversion_action_name, category => DEFAULT, type => WEBPAGE, status => ENABLED, viewThroughLookbackWindowDays => 15, valueSettings => Google::Ads::GoogleAds::V20::Resources::ValueSettings->new({ defaultValue => 23.41, alwaysUseDefaultValue => "true" })}); # Create a conversion action operation. my $conversion_action_operation = Google::Ads::GoogleAds::V20::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; }
Ten przykład znajdziesz w folderze Remarketing w bibliotece klienta oraz w zbiorze przykładów kodu: Przykład kodu dodania działania powodującego konwersję.
Weryfikacje
Google Ads i interfejs Google Ads API obsługują wiele działań powodujących konwersję, więc niektóre reguły walidacji 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 używasz unikalnej nazwy dla każdego działania powodującego konwersję.
Oto kilka wskazówek dotyczących konfigurowania pól ConversionAction
:
- Wszystkie pola typu enum
- Próba ustawienia dowolnego pola typu enum na wartość
UNKNOWN
powoduje błądRequestError.INVALID_ENUM_VALUE
. app_id
- Atrybut
app_id
jest niezmienny i może być ustawiany tylko podczas tworzenia nowej konwersji aplikacji. attribution_model_settings
- Ustawienie tej opcji na wycofane spowoduje błąd
CANNOT_SET_RULE_BASED_ATTRIBUTION_MODELS
. Google Ads obsługuje tylkoGOOGLE_ADS_LAST_CLICK
iGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
. click_through_lookback_window_days
Ustawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje błąd
RangeError.TOO_LOW
lubRangeError.TOO_HIGH
.Ten atrybut musi mieścić się w zakresie
[1,60]
w przypadku działania powodującego konwersjęAD_CALL
lubWEBSITE_CALL
. W przypadku większości innych działań powodujących konwersję dozwolony zakres to[1,30]
.include_in_conversions_metric
Ustawienie tej wartości w operacji
create
lubupdate
kończy się błędemFieldError.IMMUTABLE_FIELD
. Zamiast tego ustawprimary_for_goal
zgodnie z opisem w przewodniku po celach konwersji.phone_call_duration_seconds
Próba ustawienia tego atrybutu w działaniu powodującym konwersję, które nie dotyczy połączeń telefonicznych, powoduje błąd
FieldError.VALUE_MUST_BE_UNSET
.type
Atrybut
type
jest niezmienny i można go ustawić tylko podczas tworzenia nowej konwersji.Aktualizacja działania powodującego konwersję z
type
równąUNKNOWN
powoduje błądMutateError.MUTATE_NOT_ALLOWED
.value_settings
Wartość
value_settings
w przypadku działania powodującego konwersjęWEBSITE_CALL
lubAD_CALL
musi być ustawiona natrue
.always_use_default_value
Podanie wartościfalse
podczas tworzenia lub aktualizowania tej wartości powoduje błądINVALID_VALUE
.view_through_lookback_window_days
Ustawienie tego atrybutu na wartość spoza dozwolonego zakresu spowoduje błąd
RangeError.TOO_LOW
lubRangeError.TOO_HIGH
. W przypadku większości działań powodujących konwersję dozwolony zakres to[1,30]
.Nie można go ustawić w przypadku działań powodujących konwersję
AD_CALL
aniWEBSITE_CALL
. Podanie wartości powoduje błądVALUE_MUST_BE_UNSET
.