Utwórz działania powodujące konwersję

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ż metrics.sk_ad_network_installs, metrics.sk_ad_network_total_conversions i można łączyć tylko z segmentami dotyczącymi dat.

Zwracana jest wartość 0, jeśli Apple zgłasza wartość 0 i w innym przypadku nie ma żadnej wartości. Zajrzyj do o obecności w polu, aby odróżnić te 2 przypadki.

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:

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.typeUNKNOWN. 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:

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świetlenie RequestError.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 tylko GOOGLE_ADS_LAST_CLICK i GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN
click_through_lookback_window_days

Ustawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje Błąd RangeError.TOO_LOW lub RangeError.TOO_HIGH.

Ten atrybut musi należeć do zakresu [1,60] dla atrybutu AD_CALL lub WEBSITE_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 lub update kończy się niepowodzeniem i FieldError.IMMUTABLE_FIELD błąd. Zamiast tego ustaw primary_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ównej UNKNOWN daje wynik MutateError.MUTATE_NOT_ALLOWED błąd.

value_settings

Parametr value_settings działania powodującego konwersję typu WEBSITE_CALL lub AD_CALL musi ustaw always_use_default_value na true. Określam wartość false , gdy tworzenie lub aktualizowanie tej wartości powoduje błąd INVALID_VALUE.

view_through_lookback_window_days

Ustawienie tego atrybutu na wartość spoza dozwolonego zakresu powoduje Błąd RangeError.TOO_LOW lub RangeError.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 ani WEBSITE_CALL . Podanie wartości powoduje błąd VALUE_MUST_BE_UNSET.