ชิ้นงานในแคมเปญ Performance Max

แคมเปญ Performance Max มีลักษณะเฉพาะบางอย่างเกี่ยวกับ เนื้อหา

  1. จำนวนเนื้อหาประเภทต่างๆ ตามจำนวนขั้นต่ำที่กำหนด
  2. เนื้อหาจะได้รับการจัดกลุ่มไว้ด้วยกันในคอลเล็กชันที่เรียกว่า AssetGroup ซึ่งเป็นเอกลักษณ์เฉพาะของ Performance Max แคมเปญ
  3. แมชชีนเลิร์นนิงสร้างชิ้นงานบางอย่างได้โดยอัตโนมัติ

ตัวอย่างโค้ด

ข้อมูลโค้ดต่อไปนี้แสดงการสร้างชิ้นงานซ้ำที่จำเป็น ในคำขอใหม่

Java

/** Creates multiple text assets and returns the list of resource names. */
private List<String> createMultipleTextAssets(
    GoogleAdsClient googleAdsClient, long customerId, List<String> texts) {
  List<MutateOperation> mutateOperations = new ArrayList<>();
  for (String text : texts) {
    Asset asset = Asset.newBuilder().setTextAsset(TextAsset.newBuilder().setText(text)).build();
    AssetOperation assetOperation = AssetOperation.newBuilder().setCreate(asset).build();
    mutateOperations.add(MutateOperation.newBuilder().setAssetOperation(assetOperation).build());
  }

  List<String> assetResourceNames = new ArrayList<>();
  // Creates the service client.
  try (GoogleAdsServiceClient googleAdsServiceClient =
      googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
    // Sends the operations in a single Mutate request.
    MutateGoogleAdsResponse response =
        googleAdsServiceClient.mutate(Long.toString(customerId), mutateOperations);
    for (MutateOperationResponse result : response.getMutateOperationResponsesList()) {
      if (result.hasAssetResult()) {
        assetResourceNames.add(result.getAssetResult().getResourceName());
      }
    }
    printResponseDetails(response);
  }
  return assetResourceNames;
}
      

C#

/// <summary>
/// Creates multiple text assets and returns the list of resource names.
/// </summary>
/// <param name="client">The Google Ads Client.</param>
/// <param name="customerId">The customer's ID.</param>
/// <param name="texts">The texts to add.</param>
/// <returns>A list of asset resource names.</returns>
private List<string> CreateMultipleTextAssets(
    GoogleAdsClient client,
    long customerId,
    string[] texts)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsServiceClient =
        client.GetService(Services.V17.GoogleAdsService);

    MutateGoogleAdsRequest request = new MutateGoogleAdsRequest()
    {
        CustomerId = customerId.ToString()
    };

    foreach (string text in texts)
    {
        request.MutateOperations.Add(
            new MutateOperation()
            {
                AssetOperation = new AssetOperation()
                {
                    Create = new Asset()
                    {
                        TextAsset = new TextAsset()
                        {
                            Text = text
                        }
                    }
                }
            }
        );
    }

    // Send the operations in a single Mutate request.
    MutateGoogleAdsResponse response = googleAdsServiceClient.Mutate(request);

    List<string> assetResourceNames = new List<string>();

    foreach (MutateOperationResponse operationResponse in response.MutateOperationResponses)
    {
        MutateAssetResult assetResult = operationResponse.AssetResult;
        assetResourceNames.Add(assetResult.ResourceName);
    }

    PrintResponseDetails(response);

    return assetResourceNames;
}

      

PHP

private static function createMultipleTextAssets(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    array $texts
): array {
    // Here again, we use the GoogleAdService to create multiple text assets in a single
    // request.
    $operations = [];
    foreach ($texts as $text) {
        // Creates a mutate operation for a text asset.
        $operations[] = new MutateOperation([
            'asset_operation' => new AssetOperation([
                'create' => new Asset(['text_asset' => new TextAsset(['text' => $text])])
            ])
        ]);
    }

    // Issues a mutate request to add all assets.
    $googleAdsService = $googleAdsClient->getGoogleAdsServiceClient();
    /** @var MutateGoogleAdsResponse $mutateGoogleAdsResponse */
    $mutateGoogleAdsResponse =
        $googleAdsService->mutate(MutateGoogleAdsRequest::build($customerId, $operations));

    $assetResourceNames = [];
    foreach ($mutateGoogleAdsResponse->getMutateOperationResponses() as $response) {
        /** @var MutateOperationResponse $response */
        $assetResourceNames[] = $response->getAssetResult()->getResourceName();
    }
    self::printResponseDetails($mutateGoogleAdsResponse);

    return $assetResourceNames;
}
      

Python

def create_multiple_text_assets(client, customer_id, texts):
    """Creates multiple text assets and returns the list of resource names.

    Args:
        client: an initialized GoogleAdsClient instance.
        customer_id: a client customer ID.
        texts: a list of strings, each of which will be used to create a text
          asset.

    Returns:
        asset_resource_names: a list of asset resource names.
    """
    # Here again we use the GoogleAdService to create multiple text
    # assets in a single request.
    googleads_service = client.get_service("GoogleAdsService")

    operations = []
    for text in texts:
        mutate_operation = client.get_type("MutateOperation")
        asset = mutate_operation.asset_operation.create
        asset.text_asset.text = text
        operations.append(mutate_operation)

    # Send the operations in a single Mutate request.
    response = googleads_service.mutate(
        customer_id=customer_id,
        mutate_operations=operations,
    )
    asset_resource_names = []
    for result in response.mutate_operation_responses:
        if result._pb.HasField("asset_result"):
            asset_resource_names.append(result.asset_result.resource_name)
    print_response_details(response)
    return asset_resource_names
      

Ruby

# Creates multiple text assets and returns the list of resource names.
def create_multiple_text_assets(client, customer_id, texts)
  operations = texts.map do |text|
    client.operation.mutate do |m|
      m.asset_operation = client.operation.create_resource.asset do |asset|
        asset.text_asset = client.resource.text_asset do |text_asset|
          text_asset.text = text
        end
      end
    end
  end

  # Send the operations in a single Mutate request.
  response = client.service.google_ads.mutate(
    customer_id: customer_id,
    mutate_operations: operations,
  )

  asset_resource_names = []
  response.mutate_operation_responses.each do |result|
    if result.asset_result
      asset_resource_names.append(result.asset_result.resource_name)
    end
  end
  print_response_details(response)
  asset_resource_names
end
      

Perl

sub create_multiple_text_assets {
  my ($api_client, $customer_id, $texts) = @_;

  # Here again we use the GoogleAdService to create multiple text assets in a
  # single request.
  my $operations = [];
  foreach my $text (@$texts) {
    # Create a mutate operation for a text asset.
    push @$operations,
      Google::Ads::GoogleAds::V17::Services::GoogleAdsService::MutateOperation
      ->new({
        assetOperation =>
          Google::Ads::GoogleAds::V17::Services::AssetService::AssetOperation->
          new({
            create => Google::Ads::GoogleAds::V17::Resources::Asset->new({
                textAsset =>
                  Google::Ads::GoogleAds::V17::Common::TextAsset->new({
                    text => $text
                  })})})});
  }

  # Issue a mutate request to add all assets.
  my $mutate_google_ads_response = $api_client->GoogleAdsService()->mutate({
    customerId       => $customer_id,
    mutateOperations => $operations
  });

  my $asset_resource_names = [];
  foreach
    my $response (@{$mutate_google_ads_response->{mutateOperationResponses}})
  {
    push @$asset_resource_names, $response->{assetResult}{resourceName};
  }
  print_response_details($mutate_google_ads_response);

  return $asset_resource_names;
}
      

ชิ้นงานที่สร้างขึ้นโดยอัตโนมัติ

การทำงานแบบอัตโนมัติของ Google ที่ใช้แมชชีนเลิร์นนิงจะสร้างชิ้นงานเพิ่มเติมตามความจำเป็น เพื่อให้ครอบคลุมช่องที่เกี่ยวข้องทั้งหมด ระบบจะเลือกชิ้นงานโดยอัตโนมัติ ผสมและจับคู่ตามแชแนลโฆษณาของ Google (เช่น YouTube, Gmail หรือ Search) โฆษณาของคุณแสดงอยู่

เนื้อหาข้อความ

คุณสามารถเชื่อมโยงฟีดหน้าเว็บในบัญชีกับ แคมเปญ Performance Max เพื่อสร้างชิ้นงานโดยอัตโนมัติ

หากต้องการลิงก์ฟีดหน้าเว็บกับแคมเปญ ให้ใช้กระบวนการเดียวกันกับที่ใช้ โฆษณาบนเครือข่ายการค้นหาแบบไดนามิก:

  1. สร้างชิ้นงานสําหรับแต่ละหน้าในเว็บไซต์
  2. รวมเนื้อหาฟีดหน้าเว็บไว้ใน AssetSet
  3. เชื่อมโยง AssetSet กับแคมเปญ

หลังจากเชื่อมโยงฟีดหน้าเว็บแล้ว ให้ตรวจสอบว่าประเภท AssetAutomationSetting ตั้งค่า TEXT_ASSET_AUTOMATION เป็น OPTED_IN นี่คือการตั้งค่าเริ่มต้นหากคุณไม่ได้ตั้งค่า AssetAutomationSetting เมื่อ การสร้างแคมเปญ

การใช้การตั้งค่านี้หมายความว่าแคมเปญของคุณสามารถใช้เนื้อหาจากหน้า Landing Page โดเมน และชิ้นงานที่ให้ไว้เพื่อปรับแต่งโฆษณา เมื่อระบบคาดการณ์แล้วว่าควรจะปรับปรุง ด้านประสิทธิภาพ เราขอแนะนําให้คงไว้เป็น OPTED-IN

ชิ้นงานวิดีโอ

หากไม่ได้เพิ่มวิดีโอลงในกลุ่มชิ้นงาน Performance Max จะต้องมีอย่างน้อย 1 รายการ ระบบอาจสร้างชิ้นงานวิดีโอจากชิ้นงานในกลุ่มชิ้นงาน หากคุณไม่ใช่ ต้องการให้วิดีโอที่สร้างโดยอัตโนมัติแสดงในแคมเปญ Performance Max นานขึ้น คุณก็สามารถอัปโหลดวิดีโอที่คุณกำหนดเอง และวิดีโอที่สร้างขึ้นโดยอัตโนมัติจะ หยุดแสดง