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

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

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

หลักเกณฑ์การใช้แบรนด์: การลิงก์ชื่อและโลโก้ธุรกิจ

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

ระบบจะลิงก์ชิ้นงานหลักเกณฑ์การใช้แบรนด์เหล่านี้โดยตรงที่ระดับแคมเปญ ไม่ใช่ระดับกลุ่มชิ้นงาน โดยใช้ทรัพยากร CampaignAsset คุณ ลิงก์ชิ้นงานกับแคมเปญโดยระบุ AssetFieldTypeที่เหมาะสม ดังนี้

  • BUSINESS_NAME สำหรับชิ้นงานชื่อธุรกิจ (ซึ่งเป็นชิ้นงานข้อความ)
  • LOGO สำหรับชิ้นงานโลโก้ธุรกิจ (ซึ่งเป็นชิ้นงานรูปภาพ)

การลิงก์ระดับแคมเปญนี้ช่วยให้มั่นใจได้ว่าแบรนด์จะแสดงอย่างสอดคล้องกันในทุกกลุ่มชิ้นงานภายในแคมเปญ Performance Max

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

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

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.V25.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: GoogleAdsClient, customer_id: str, texts: List[str]
) -> List[str]:
    """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: GoogleAdsServiceClient = client.get_service(
        "GoogleAdsService"
    )

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

    # Send the operations in a single Mutate request.
    response: MutateGoogleAdsResponse = googleads_service.mutate(
        customer_id=customer_id,
        mutate_operations=operations,
    )
    asset_resource_names: List[str] = []
    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::V25::Services::GoogleAdsService::MutateOperation
      ->new({
        assetOperation =>
          Google::Ads::GoogleAds::V25::Services::AssetService::AssetOperation->
          new({
            create => Google::Ads::GoogleAds::V25::Resources::Asset->new({
                textAsset =>
                  Google::Ads::GoogleAds::V25::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;
}
      

curl

การจัดการชิ้นงานโดยอัตโนมัติ

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

การปรับแต่งข้อความ

การปรับแต่งข้อความช่วยให้ AI ของ Google สร้างและปรับแต่งชิ้นงานข้อความสำหรับโฆษณาได้โดยอัตโนมัติ คุณสามารถเพิ่มประสิทธิภาพฟีเจอร์นี้ได้โดยการเชื่อมโยงการรวม URL (ฟีดหน้าเว็บ) ในบัญชีกับแคมเปญ Performance Max เพื่อ สร้างชิ้นงานข้อความ

หากต้องการลิงก์การรวม URL กับแคมเปญ ให้ใช้กระบวนการเดียวกับที่ใช้สำหรับโฆษณา Search แบบไดนามิก โดยทำดังนี้

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

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

นี่คือการตั้งค่าเริ่มต้นหากคุณไม่ได้ตั้งค่า AssetAutomationSetting เมื่อสร้างแคมเปญ

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

หลักเกณฑ์เกี่ยวกับข้อความ

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

หากต้องการใช้หลักเกณฑ์เกี่ยวกับข้อความ ให้ป้อนข้อมูลในช่อง text_guidelines ของ Campaign ทรัพยากร

  • การยกเว้นคำ: ระบุรายการคำหรือวลีที่ตรงกันซึ่งต้องการยกเว้น จากชิ้นงานข้อความที่สร้างขึ้น การยกเว้นแต่ละรายการมีความยาวได้ไม่เกิน 30 อักขระ และยกเว้นได้สูงสุด 25 รายการ
  • ข้อจำกัดเกี่ยวกับข้อความ: ระบุคำแนะนำแบบอิสระ (รายการละไม่เกิน 300 อักขระ) เพื่อแนะนำการสร้างข้อความด้วย AI คุณระบุข้อจำกัดได้สูงสุด 40 รายการ ระบบรองรับเฉพาะ RESTRICTION_BASED_EXCLUSIONสำหรับประเภทข้อจำกัด

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

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

ระบบอัตโนมัติอัจฉริยะอาจปรับปรุงชิ้นงานวิดีโอ YouTube โดยการปรับการวางแนววิดีโอ และย่อวิดีโออย่างชาญฉลาดเพื่อไฮไลต์ช่วงเวลาสำคัญ หากต้องการเก็บชิ้นงานวิดีโอต้นฉบับไว้ ให้ตั้งค่า AssetAutomationSetting ประเภท GENERATE_ENHANCED_YOUTUBE_VIDEOS เป็น OPTED_OUT