W tym przewodniku znajdziesz listę różnych typów działań powodujących konwersję, które możesz za pomocą interfejsu Google Ads API, informacje o tym, jak te dane oraz szczegółowy przykładowy kod pokazujący, jak utwórz nowe działania powodujące konwersję.
Aby mierzyć konwersje, skonfiguruj
ConversionAction
dla
type
z
działanie powodujące konwersję, które chcesz śledzić. Na przykład zakup online lub telefon
połączenie wymaga innych działań powodujących konwersję.
Najlepszym sposobem na skonfigurowanie nowych działań powodujących konwersję w interfejsie API jest użycie
Dodaj poniżej przykładowy kod działania powodującego konwersję. Uchwyty próbki
wszystkich zadań uwierzytelniania w tle i pomoże
ConversionAction
.
Większość działań powodujących konwersję wymaga wykonania dodatkowych czynności, . Aby np. śledzić konwersje w witrynie, musisz dodać kod fragment kodu nazywany tagiem. do strony konwersji w witrynie. Inne działanie powodujące konwersję zapoznaj się z Artykuł w Centrum pomocy.
Konwersje w witrynie
Konwersja w witrynie pozwala śledzić działania w witrynie, np. sprzedaż online, kliknięć linków, wyświetleń stron i rejestracji.
Aby śledzić konwersje w witrynie, musisz utworzyć
ConversionAction
z
ConversionActionType
ustaw na WEBPAGE
i dodaj do konwersji fragment kodu nazywany tagiem
w witrynie.
ConversionAction
obejmuje kilka
konwersje w witrynie, które można rozróżnić w interfejsie API
type
w każdym polu
TagSnippet
wymienione w
tag_snippets
ConversionAction
TagSnippet
zawiera kod śledzenia, który musi
śledzenia konwersji w witrynie.
Konwersje typu witryna i kliknięcie numeru telefonu wymagają:
event_snippet
,
który powinien zostać umieszczony na stronach internetowych wskazujących działanie powodujące konwersję,
stronę z potwierdzeniem płatności lub przesłaniem formularza kontaktowego;
global_site_tag
,
który należy zainstalować na każdej stronie witryny. Możesz pobrać
te atrybuty za pomocą
ConversionActionService
Wymelduj się
w naszym Centrum pomocy,
informacje na temat sposobu tagowania stron.
W tabeli poniżej znajdziesz równoważne parametry interfejsu API, które należy użyć w przypadku każdego z nich Źródło w interfejsie internetowym Google Ads:
Typ kodu śledzenia | Źródło Google Ads |
---|---|
WEBPAGE |
Witryna, witryna (Google Analytics (GA4)) |
WEBPAGE_ONCLICK |
Witryna, witryna (Google Analytics (GA4)) |
CLICK_TO_CALL |
Kliknięcia numeru telefonu |
--- |
Witryna (Google Analytics (UA)) |
Konwersje z aplikacji
Konwersja z aplikacji pozwala śledzić instalacje aplikacji mobilnej lub zakupy w aplikacji Sklep Google Play.
W tabeli poniżej znajdziesz odpowiedniki
ConversionActionType
Parametry interfejsu API, które mają być używane w przypadku poszczególnych Źródeł w interfejsie internetowym Google Ads:
Typ działania powodującego konwersję | Źródło Google Ads |
---|---|
GOOGLE_PLAY_DOWNLOAD |
Google Play > Instalacje |
GOOGLE_PLAY_IN_APP_PURCHASE |
Google Play > Zakupy w aplikacji |
Jeśli chcesz śledzić inne działania w aplikacji mobilnej za pomocą Google Analytics 4 usług lub analityki aplikacji przez firmy zewnętrzne. Zobacz Dodatkowe typy działań powodujących konwersję.
Konwersje telefoniczne
Śledzenie konwersji telefonicznych umożliwia śledzenie połączeń z reklam, połączeń z numerem podanym w witrynie oraz kliknięć numerów w witrynach mobilnych.
W tabeli poniżej znajdziesz odpowiedniki
ConversionActionType
Parametry interfejsu API, które mają być używane w przypadku poszczególnych Źródeł w interfejsie internetowym Google Ads:
Typ działania powodującego konwersję | Źródło Google Ads |
---|---|
AD_CALL |
Połączenia z reklam korzystających z rozszerzeń połączeń lub reklam typu „tylko połączenie” |
WEBSITE_CALL |
Połączenia z numerem telefonu w Twojej witrynie |
CLICK_TO_CALL |
Kliknięcia numeru w Twojej witrynie mobilnej |
Typ CLICK_TO_CALL
różni się od typu AD_CALL
tym, że zawiera
nie śledzić rzeczywistych połączeń telefonicznych. Zamiast tego CLICK_TO_CALL
śledzi tylko kliknięcia na
z urządzenia mobilnego. Jest to przydatne, gdy nie możesz użyć atrybutu
Numer Google do przekazywania połączeń do śledzenia połączeń telefonicznych.
AD_CALL
An
AD_CALL
działanie powodujące konwersję ma postać połączeń z
konwersja w Google Ads
za pomocą interfejsu internetowego. Po utworzeniu działania powodującego konwersję „AD_CALL
” określ jego poziom
w polu call_conversion_action
podczas tworzenia
CallAsset
. Zadzwoń pod numer
zasobów, które pozwalają wyświetlać
bezpośrednio w reklamach.
Połączenia są rejestrowane jako konwersje, jeśli trwają dłużej niż określony czas. Wartość domyślna to 60 sekund.
WEBSITE_CALL
O
WEBSITE_CALL
działanie powodujące konwersję ma postać połączeń
konwersji w witrynie,
Interfejs internetowy Google Ads.
Nie podoba mi się
AD_CALL
ten tracker wymaga event_snippet
i global_site_tag
do dodania do
Pobrania z witryny dynamicznego numeru Google do przekazywania połączeń do śledzenia połączeń
w numerach podanych w witrynie. Dodatkowo musisz skonfigurować połączenie telefoniczne
i połącz go na stronie
klienta, kampanii lub grupy reklam.
Importowanie konwersji offline
W tabeli poniżej znajdziesz odpowiedniki
ConversionActionType
Parametry interfejsu API używane w przypadku poszczególnych Źródeł w interfejsie internetowym Google Ads
oraz link do dokumentacji poszczególnych typów działań powodujących konwersję:
Typ działania powodującego konwersję | Źródło Google Ads | Przewodnik po konfiguracji interfejsu API |
---|---|---|
UPLOAD_CLICKS |
Śledzenie konwersji po kliknięciu i konwersjach rozszerzonych w kampanii potencjalni klienci | Przewodnik po kliknięciach przesyłania
Ulepszone Przewodnik dotyczący konwersji dla potencjalnych klientów |
UPLOAD_CALLS |
Śledź konwersje telefoniczne | Przewodnik po konfiguracji interfejsu API |
STORE_SALES |
Śledzenie konwersji polegających na sprzedaży w sklepie | Konfiguracja interfejsu API Przewodnik |
Konwersje rozszerzone w kampaniach internetowych
Konwersje rozszerzone w przypadku kampanii
internet pozwala wysyłać
własne dane o konwersjach dla WEBPAGE
działań powodujących konwersję w ciągu 24 godzin od
zdarzenie konwersji, a nie w tym samym czasie. Umożliwia to zlokalizowanie
dane własne z różnych źródeł, takich jak baza danych klientów lub system CRM
systemu.
Dodatkowe typy działań powodujących konwersję
Interfejs Google Ads API udostępnia w raportach dodatkowe typy działań powodujących konwersję, ale mogą ograniczać lub uniemożliwiać tworzenie bądź modyfikowanie tych działań.
Konwersje SKAdNetwork
Jeśli prowadzisz kampanie promujące aplikacje na iOS
i zaimplementowaliśmy
SKAdNetwork, dostęp możesz
dane SKAdNetwork udostępniane Google na poziomie Customer
i Campaign
z użyciem:
te zasoby:
Pole raportu | Opis |
---|---|
metrics.sk_ad_network_installs |
Liczba instalacji zgłoszona przez Apple. Te dane można dzielić tylko na segmenty
przez dowolną kombinację wartości segments.sk_ad_network_conversion_value i
i segmenty powiązane z daną datą.
|
metrics.sk_ad_network_total_conversions |
Łączna liczba konwersji, w tym instalacje i inne typy konwersji konwersji raportowanych przez Apple. Te dane można podzielić tylko według segmenty powiązane ze SKAdNetwork oraz segmenty związane z datą, |
segments.sk_ad_network_ad_event_type |
Typ zdarzenia, które wystąpiło w przypadku konkretnej konwersji. |
segments.sk_ad_network_attribution_credit |
Sposób przypisywania udziału w konwersjach danej konwersji. |
segments.sk_ad_network_fine_conversion_value |
Wartość konwersji zgłoszona przez Apple. Nie można zastosować tego segmentu
do wszystkich danych innych niż Zwracana jest wartość |
segments.sk_ad_network_coarse_conversion_value |
Przybliżona wartość pojedynczej konwersji. |
segments.sk_ad_network_postback_sequence_index |
Pozycja wywołania zwrotnego dla określonej konwersji. |
segments.sk_ad_network_source_app.sk_ad_network_source_app_id |
Identyfikator aplikacji, w której reklama, która doprowadziła do zainstalowania aplikacji z pakietu iOS Store Kit Ad Network, wyświetlane. |
segments.sk_ad_network_source_domain |
Witryna, w której reklama doprowadziła do instalacji aplikacji z pakietu iOS Store Kit Ad Network, wyświetlane. Wartość null oznacza, że segment nie ma zastosowania – np. kampanii innej niż iOS – lub nie było jej w żadnym wywołaniu zwrotnym wysłanym przez Apple. |
segments.sk_ad_network_source_type |
Typ źródła, w którym reklama, która doprowadziła do instalacji w sieci reklamowej pakietu iOS Store Kit Ad Network została wyświetlona. Wartość null oznacza, że segment nie ma zastosowania – np. kampania inna niż iOS lub w której nie było ani domeny źródłowej, ani aplikacji źródłowej. wszystkich wywołań zwrotnych wysłanych przez Apple. |
segments.sk_ad_network_user_type |
Typ użytkownika, który wygenerował określoną konwersję. |
segments.sk_ad_network_redistributed_fine_conversion_value |
Wartości konwersji w tym segmencie zawierają puste wartości, które były ponownie kierować na wartości konwersji. Ten segment przedstawia sumę wartości zaobserwowane drobne wartości konwersji zwracane przez Apple i modelowane wartości null od Google. |
segments.sk_ad_network_version |
Używana wersja interfejsu API sieci reklamowej iOS Store Kit. |
Możesz też zapisać mapowanie wartości konwersji SKAdNetwork dla konkretnych połączonych
klientów, którzy mają aplikacje na iOS za pośrednictwem CustomerSkAdNetworkConversionValueSchema
.
Przykładowy kod w Pythonie
#!/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
Konwersje z połączonej usługi w Google Analytics mają jedną z tych wartości
Wartości type
:
Konwersja w usłudze w GA4:
GOOGLE_ANALYTICS_4_CUSTOM
GOOGLE_ANALYTICS_4_PURCHASE
Identyfikator usługi w GA4, nazwę usługi i nazwę zdarzenia możesz też pobrać z
google_analytics_4_settings
.Konwersja w usłudze w Universal Analytics:
UNIVERSAL_ANALYTICS_GOAL
UNIVERSAL_ANALYTICS_TRANSACTION
W konwersji w usłudze w GA4 możesz wprowadzić te zmiany:
- Aby zaimportować konwersję z usługi w GA4 na konto Google Ads:
zmienia jego pole
status
zHIDDEN
naENABLED
. - Zmodyfikuj pola
primary_for_goal
icategory
, aby określić, jak powinien wpływają na określanie stawek i raporty w Google Ads. - Zaktualizuj:
name
lubvalue_settings
. - Usuń konwersję z konta Google Ads za pomocą operacji
remove
.
Każda próba zmodyfikowania innych atrybutów zaimportowanej konwersji GA4 lub dowolnej
atrybutów zaimportowanej konwersji Universal Analytics powoduje
MUTATE_NOT_ALLOWED
błąd. Te zmiany możesz wprowadzać tylko w interfejsie Google Ads.
Firebase i analityka aplikacji przez firmy zewnętrzne
Aby zaimportować
analityki aplikacji przez firmy zewnętrzne
lub Firebase,
zmień status
sekcji
ConversionAction
od HIDDEN
do ENABLED
przy użyciu metody mutate
ConversionActionService
. Aktualizuję
Kolumna app_id
nie jest obsługiwana w tych przypadkach
działań powodujących konwersję.
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
Sprzedaż w sklepie
Chociaż nie możesz tworzyć elementów STORE_SALES
ani STORE_SALES_DIRECT_UPLOAD
działań powodujących konwersję za pomocą interfejsu Google Ads API, interfejs API obsługuje przesyłanie danych o sklepie
transakcji sprzedaży.
STORE_SALES
STORE_SALES_DIRECT_UPLOAD
Różne
Poniższe typy działań powodujących konwersję są tylko do odczytu w interfejsie Google Ads API i udostępniane do celów raportowania.
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
Nieznany
Jeśli Twoje konto Google Ads obejmuje inne typy działań powodujących konwersję, możesz
które zapytania i raporty zwracają działania powodujące konwersję, w których
ConversionAction.type
– UNKNOWN
.
Interfejs API nie obsługuje zarządzania tymi działaniami powodującymi konwersję, ale zwraca je w
w raportach, aby dostarczyć kompletne wyniki dotyczące kluczowych wskaźników konwersji, takich jak
metrics.conversions
i metrics.conversions_value
.
Przykładowy kod
Poniższy przykładowy kod przeprowadzi Cię przez proces tworzenia nowego
działanie powodujące konwersję. a konkretnie utworzyć działanie powodujące konwersję z
type
– ustawiono na
UPLOAD_CLICKS
Ten sam proces w interfejsie Google Ads wygląda tak samo jak w przypadku tworzenia nowego działania powodującego konwersję za pomocą opcji
Importuj > Importowanie ręczne za pomocą interfejsu API lub przesyłania > Śledź konwersje z:
kliknięć. Ustawia też pole category
do DEFAULT
.
Stosowane są te ustawienia domyślne:
Interfejs Google Ads API ustawia Pole
primary_for_goal
automatycznie, ale możesz skonfigurować to pole jawnie, by kontrolować sposób, w jaki działanie powodujące konwersję ma wpływ na raportowanie i określanie stawek na koncie po połączeniu kont. z celami konwersji.Interfejs Google Ads API ustawia
counting_type
automatycznie doMANY_PER_CLICK
. Więcej informacji znajdziesz w artykule Opcje liczenia konwersji – informacje.Interfejs API Google Ads ustawia model atrybucji jako Dane napędzany przez ustawienie
attribution_model_settings
do pola WartośćGOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
dlaAttributionModel
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; }
Ten przykład znajdziesz też w folderze Remarketing w bibliotece klienta oraz w kolekcji przykładów kodu: Dodaj kod działania powodującego konwersję przykład.
Weryfikacje
Google Ads i interfejs Google Ads API obsługują szeroką gamę działań powodujących konwersje, więc niektóre
reguły weryfikacji różnią się w zależności od: type
działania.
Zdecydowanie najczęstszym błędem 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 wyliczenia
- Próba ustawienia w dowolnym polu wyliczenia na
UNKNOWN
powoduje wyświetlenieRequestError.INVALID_ENUM_VALUE
błąd. app_id
- Atrybut
app_id
jest stały i można go ustawić tylko podczas tworzenia nowej konwersji z aplikacji. attribution_model_settings
- Ustawianie stanu na wycofane
daje wynik
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 należeć do zakresu
[1,60]
dla atrybutuAD_CALL
lubWEBSITE_CALL
działanie powodujące konwersję. W przypadku większości innych działań powodujących konwersję parametr dozwolony zakres to[1,30]
.include_in_conversions_metric
Ustawienie tej wartości w operacji
create
lubupdate
kończy się niepowodzeniem iFieldError.IMMUTABLE_FIELD
błąd. Zamiast tego ustawprimary_for_goal
jako opisane w przewodniku po celach konwersji.phone_call_duration_seconds
Próbujesz ustawić ten atrybut dla działania powodującego konwersję, które nie dotyczy połączeń zwraca błąd
FieldError.VALUE_MUST_BE_UNSET
.type
Atrybut
type
jest stały i można go ustawić tylko podczas tworzenia nowego elementu konwersji.Aktualizacja działania powodującego konwersję o wartości
type
równejUNKNOWN
daje wynikMutateError.MUTATE_NOT_ALLOWED
błąd.value_settings
Parametr
value_settings
działania powodującego konwersję typuWEBSITE_CALL
lubAD_CALL
musi ustawalways_use_default_value
natrue
. Określam wartośćfalse
, gdy tworzenie lub aktualizowanie tej wartości powoduje błądINVALID_VALUE
.view_through_lookback_window_days
Ustawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje Błąd
RangeError.TOO_LOW
lubRangeError.TOO_HIGH
. W przypadku większości konwersji czynności, dozwolony zakres to[1,30]
.Tego atrybutu nie można ustawić w konwersjach
AD_CALL
aniWEBSITE_CALL
. Podanie wartości powoduje błądVALUE_MUST_BE_UNSET
.