การจัดการ Conversion

ใน Google Ads Conversion คือการกระทำของผู้ใช้ที่มีคุณค่า เช่น การซื้อผลิตภัณฑ์ การส่งโฆษณาแบบกรอกฟอร์ม การโทรหาธุรกิจ หรือการเข้าชมหน้าร้านจริง ซึ่งเกิดขึ้นหลังจากการโต้ตอบกับโฆษณา เครื่องมือวัด Conversion จะวัดการโต้ตอบของลูกค้าเหล่านี้เพื่อให้คุณประเมินประสิทธิภาพของแคมเปญและเพิ่มประสิทธิภาพการเสนอราคาอัตโนมัติได้

Google Ads API ช่วยให้คุณกำหนดค่าการกระทำที่ถือเป็น Conversion, นำเข้าเหตุการณ์ Conversion ออฟไลน์, ปรับปรุงหรือปรับ Conversion ที่บันทึกไว้, จัดกลุ่มการกระทำเป็นเป้าหมายการเสนอราคาและเป้าหมายวงจรลูกค้า รวมถึงตรวจสอบการวินิจฉัยการอัปโหลดแบบเป็นโปรแกรมได้

เลือกเวิร์กโฟลว์ Conversion

ใช้ตารางต่อไปนี้เพื่อระบุ ConversionActionType, บริการ API และคู่มือการติดตั้งใช้งานสำหรับ Use Case ของคุณ

งาน ประเภทการกระทำที่ถือเป็น Conversion บริการหรือทรัพยากร API คู่มือการติดตั้งใช้งาน
ยืนยันการสร้างบัญชีและสร้างการกระทำที่ถือเป็น Conversion UPLOAD_CLICKS, WEBPAGE, UPLOAD_CALLS, AD_CALL, WEBSITE_CALL, GOOGLE_PLAY_DOWNLOAD, GOOGLE_PLAY_IN_APP_PURCHASE Customer (ConversionTrackingSetting), ConversionActionService การเริ่มต้นใช้งานและหมวดหมู่การกระทำที่ถือเป็น Conversion
นําเข้า Conversion จากการคลิกออฟไลน์หรือ Conversion ที่ปรับปรุงแล้วสำหรับโอกาสในการขาย UPLOAD_CLICKS ConversionUploadService.UploadClickConversions (หรือ Data Manager API สําหรับการผสานรวมใหม่) นําเข้า Conversion จากคลิกออฟไลน์
ปรับปรุง Conversion ออนไลน์ (Conversion ที่ปรับปรุงแล้วสําหรับเว็บ) WEBPAGE ConversionAdjustmentUploadService.UploadConversionAdjustments (ENHANCEMENT) นำเข้า Conversion การคลิกออนไลน์
นำเข้า Conversion การโทร UPLOAD_CALLS ConversionUploadService.UploadCallConversions นำเข้า Conversion การโทร
นำเข้าธุรกรรมยอดขายในร้าน STORE_SALES, STORE_SALES_DIRECT_UPLOAD OfflineUserDataJobService (หรือ Data Manager API) นำเข้า Conversion ยอดขายในร้าน
เพิกถอนหรือปรับเปลี่ยน Conversion ที่บันทึกไว้ UPLOAD_CLICKS, WEBPAGE, SALESFORCE (เลิกใช้งานแล้ว) ConversionAdjustmentUploadService.UploadConversionAdjustments (RETRACTION, RESTATEMENT) ปรับ Conversion หลังการนําเข้า
แนบข้อมูลเมตาของแท็กที่กำหนดเองกับ Conversion UPLOAD_CLICKS, UPLOAD_CALLS, WEBPAGE ConversionCustomVariableService ตัวแปร Conversion ที่กำหนดเอง
กำหนดค่าเป้าหมายการเสนอราคา เป้าหมายวงจรลูกค้า และกฎมูลค่า เป้าหมายบัญชี แคมเปญ และเป้าหมายวงจรลูกค้า CustomerConversionGoalService, CampaignConversionGoalService, CustomConversionGoalService, ConversionGoalCampaignConfigService, GoalService, CampaignGoalConfigService, ConversionValueRuleService เป้าหมาย Conversion, เป้าหมายวงจรลูกค้า และ กฎมูลค่า Conversion
ตรวจสอบประสิทธิภาพการนำเข้าและการวินิจฉัยข้อผิดพลาด UPLOAD_CLICKS, WEBPAGE, UPLOAD_CALLS offline_conversion_upload_client_summary, offline_conversion_upload_conversion_action_summary ตรวจสอบการวินิจฉัยข้อมูลออฟไลน์
ค้นหาเมตริก Conversion และแก้ปัญหาข้อผิดพลาด ประเภท Conversion ทั้งหมด GoogleAdsService.SearchStream (customer, campaign, conversion_action) ดึงข้อมูลสถิติ Conversion และแก้ปัญหาการนําเข้า Conversion

วงจร Conversion ตั้งแต่ต้นจนจบ

การผสานรวมการจัดการ Conversion ที่สมบูรณ์ใน Google Ads API มี 4 ขั้นตอนดังนี้

  1. ยืนยันการสร้างบัญชีและสร้างการกระทำที่ถือเป็น Conversion: ค้นหา Customer.conversion_tracking_setting เพื่อยืนยันบัญชี Conversion ที่มีผล (google_ads_conversion_customer) ยืนยันว่าเครื่องมือวัด Conversion ทำงานอยู่ กำหนดค่าความยินยอมของผู้ใช้ และสร้าง ConversionAction ด้วย ConversionActionType และ ConversionActionCategory เป้าหมาย
  2. นําเข้าเหตุการณ์ Conversion: สตรีม Conversion การคลิกหรือ Conversion การโทรแบบออฟไลน์โดยใช้ ConversionUploadService โดยตั้งค่า partial_failure เป็น true, เสริม Conversion ในเว็บไซต์ด้วยการปรับ ENHANCEMENT โดยใช้ ConversionAdjustmentUploadService หรืออัปโหลดกลุ่มยอดขายในร้านโดยใช้ OfflineUserDataJobService
  3. ปรับและเพิ่มประสิทธิภาพ Conversion: เพิกถอนหรือปรับเปลี่ยน Conversion ที่บันทึกไว้โดยใช้ ConversionAdjustmentUploadService, แนบข้อมูลเมตา ConversionCustomVariable, ใช้กฎมูลค่า Conversion และจัดระเบียบการกระทำเป็นเป้าหมาย Conversion และเป้าหมายวงจรลูกค้าเพื่อควบคุมการเพิ่มประสิทธิภาพการเสนอราคา
  4. ตรวจสอบการวินิจฉัยและประสิทธิภาพของรายงาน: ค้นหา offline_conversion_upload_client_summary และ offline_conversion_upload_conversion_action_summary เพื่อตรวจสอบสถานะการประมวลผลการอัปโหลดและการแจ้งเตือนความล้มเหลวบางส่วน ค้นหาทรัพยากร customer หรือ campaign (แบ่งกลุ่มตาม segments.conversion_action (ไม่บังคับ)) เพื่อเปรียบเทียบเมตริก metrics.conversions และ metrics.all_conversions หรือค้นหาทรัพยากร conversion_action เพื่อตรวจสอบ metrics.all_conversions และการประทับเวลาของ Conversion ล่าสุด

คู่มือเริ่มใช้งานฉบับย่อ: ยืนยันการตั้งค่า สร้างการดำเนินการ และตรวจสอบประสิทธิภาพการทำงาน

ตัวอย่างต่อไปนี้แสดงการค้นหาและการเปลี่ยนแปลงที่พบบ่อยที่สุด 3 รายการที่จำเป็นในการเริ่มต้นและตรวจสอบเครื่องมือวัด Conversion

1. ยืนยันการตั้งค่าเครื่องมือวัด Conversion ด้วย GAQL

ก่อนสร้าง ConversionAction หรืออัปโหลดเหตุการณ์ ให้ค้นหาทรัพยากร customer โดยใช้ GoogleAdsService.SearchStream เพื่อระบุว่าบัญชีใดจัดการ Conversion (google_ads_conversion_customer) ไม่ว่าจะเป็นการยอมรับข้อกำหนดด้านข้อมูลลูกค้าหรือไม่ และมีการเปิดใช้ Conversion ที่ปรับปรุงแล้วระดับบัญชีหรือไม่ (EnhancedConversionsConfig)

SELECT
  customer.conversion_tracking_setting.conversion_tracking_id,
  customer.conversion_tracking_setting.conversion_tracking_status,
  customer.conversion_tracking_setting.cross_account_conversion_tracking_id,
  customer.conversion_tracking_setting.google_ads_conversion_customer,
  customer.conversion_tracking_setting.accepted_customer_data_terms,
  customer.conversion_tracking_setting.enablement_setting,
  customer.conversion_tracking_setting.effective_enablement_setting
FROM customer

ดึงข้อมูล {customer_id} จากชื่อทรัพยากร customers/{customer_id} ที่แสดงผลใน google_ads_conversion_customer และส่งคำขอ ConversionActionService และ ConversionUploadService ที่ตามมาทั้งหมดโดยใช้รหัสลูกค้านั้น ดูรายละเอียดการตั้งค่าทั้งหมดและลำดับชั้นข้ามบัญชีได้ที่เริ่มต้นใช้งาน

2. สร้างการกระทำที่ถือเป็น Conversion

ใช้ ConversionActionService.MutateConversionActions เพื่อสร้าง ConversionAction ตัวอย่างต่อไปนี้จะสร้างการกระทำที่ถือเป็น Conversion UPLOAD_CLICKS ที่มีการตั้งค่ามูลค่าที่กำหนดเองและกรอบเวลามองย้อนกลับ

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.V26.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::V26::Resources::ConversionAction->new({
      name                          => $conversion_action_name,
      category                      => DEFAULT,
      type                          => WEBPAGE,
      status                        => ENABLED,
      viewThroughLookbackWindowDays => 15,
      valueSettings                 =>
        Google::Ads::GoogleAds::V26::Resources::ValueSettings->new({
          defaultValue          => 23.41,
          alwaysUseDefaultValue => "true"
        })});

  # Create a conversion action operation.
  my $conversion_action_operation =
    Google::Ads::GoogleAds::V26::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

คำขอ REST

หากต้องการสร้าง ConversionAction เดียวกันผ่าน REST ให้ส่งคำขอ POST ไปยัง ConversionActionService.MutateConversionActions:

POST https://googleads.googleapis.com/v26/customers/{customer_id}/conversionActions:mutate
{
  "operations": [
    {
      "create": {
        "name": "Earth to Mars Cruise Conversion",
        "type": "UPLOAD_CLICKS",
        "category": "DEFAULT",
        "status": "ENABLED",
        "primaryForGoal": true,
        "countingType": "ONE_PER_CLICK",
        "clickThroughLookbackWindowDays": "60",
        "valueSettings": {
          "defaultValue": 23.41,
          "defaultCurrencyCode": "USD",
          "alwaysUseDefaultValue": true
        }
      }
    }
  ]
}

เมื่อการกระทำที่ถือเป็น Conversion มีสถานะเป็น ENABLED ให้นำเข้าเหตุการณ์ Conversion หรือการปรับปรุงโดยใช้เวิร์กโฟลว์สำหรับแหล่งที่มาของ Conversion (ดูหัวข้อนำเข้าเหตุการณ์ Conversion)

3. ตรวจสอบสถานะการอัปโหลด Conversion ออฟไลน์

หลังจากอัปโหลด Conversion การคลิก, Conversion การโทร หรือการปรับ Conversion แล้ว ให้ค้นหา offline_conversion_upload_client_summary เพื่อตรวจสอบสถานะงานโดยรวม อัตราความสําเร็จและอัตราที่รอดําเนินการ รวมถึงรายละเอียดข้อผิดพลาดในการอัปโหลดล่าสุด ดังนี้

SELECT
  offline_conversion_upload_client_summary.client,
  offline_conversion_upload_client_summary.status,
  offline_conversion_upload_client_summary.total_event_count,
  offline_conversion_upload_client_summary.successful_event_count,
  offline_conversion_upload_client_summary.success_rate,
  offline_conversion_upload_client_summary.pending_event_count,
  offline_conversion_upload_client_summary.pending_rate,
  offline_conversion_upload_client_summary.last_upload_date_time,
  offline_conversion_upload_client_summary.alerts
FROM offline_conversion_upload_client_summary

ค้นหา offline_conversion_upload_conversion_action_summary เพื่อดูการวินิจฉัยระดับการกระทำที่ถือเป็น Conversion (ดูตรวจสอบการวินิจฉัยข้อมูลออฟไลน์) และดูแก้ปัญหาการนําเข้า Conversion เพื่อแก้ไขรหัสข้อผิดพลาดที่เฉพาะเจาะจง

ไดเรกทอรีคู่มือตามระยะของวงจร

ดูคู่มือการจัดการ Conversion ทั้งหมดที่จัดเรียงตามระยะวงจร

1. การสร้างบัญชีและการกระทำที่ถือเป็น Conversion

2. นำเข้าเหตุการณ์ Conversion

  • นําเข้า Conversion การคลิกออฟไลน์: อัปโหลด Conversion ออฟไลน์ (GCLID, GBRAID, WBRAID) และ Conversion ที่ปรับปรุงแล้วสำหรับโอกาสในการขาย (อีเมลและหมายเลขโทรศัพท์ที่แฮชของบุคคลที่หนึ่ง) เพื่อวัดธุรกรรมในชีวิตจริง
  • นำเข้า Conversion การคลิกออนไลน์: เสริมแท็ก Conversion ในเว็บไซต์ด้วยข้อมูลผู้ใช้จากบุคคลที่หนึ่ง เช่น อีเมล ชื่อ ที่อยู่บ้าน และหมายเลขโทรศัพท์ โดยใช้ Conversion ที่ปรับปรุงแล้วสำหรับเว็บ (การปรับ ENHANCEMENT รายการ)
  • นำเข้า Conversion การโทร: อัปโหลดเหตุการณ์ Conversion สำหรับการโทรที่ติดตามผ่านหมายเลขโอนสายของ Google หรือระบบติดตามการโทรของคุณเอง
  • นําเข้า Conversion ยอดขายในร้าน: อัปโหลดกลุ่มข้อมูลธุรกรรมหน้าร้านโดยใช้ OfflineUserDataJobService

3. ปรับและเพิ่มประสิทธิภาพ Conversion

4. ตรวจสอบ รายงาน และแก้ปัญหา