إنشاء حملة Shopping

تتمثل الخطوة الأولى لتنفيذ إعلانات Shopping في إنشاء "حملة Shopping". تتيح حملات Shopping للمستخدمين مشاهدة الإعلانات التي تعرض صورة المنتج، بما في ذلك العنوان والسعر واسم المتجر والمزيد. عند إنشاء "حملة Shopping"، يجب ضبط ميزانيتها واستراتيجية عروض الأسعار وإعداداتها

قبل أن تتمكّن من إنشاء حملة Shopping، عليك ربط حسابك على "إعلانات Google" بحسابك على Google Merchant Center. بعد ربط الحسابات، يمكنك استخدام رقم تعريف حساب Google Merchant Center عند تحديد إعدادات التسوّق.

حملات التسوّق العادية

هذه هي الحملة المطلوبة لإنشاء إعلانات تسويق المنتجات. تتيح لك إعلانات تسويق المنتجات تضمين صورة وعنوان وسعر واسم متجرك أو نشاطك التجاري في إعلاناتك، بدون أن تحتاج إلى إنشاء إعلانات فريدة لكل منتج تبيعه.

في ما يلي خطوات إعداد "حملة Shopping عادية":

  1. اضبط advertising_channel_type للحملة على SHOPPING.
  2. أنشئ ShoppingSetting واضبط الحقول ثم أضِفها إلى الحملة.
  3. أنشئ استراتيجية محفظة لعروض الأسعار أو حدِّد استراتيجية عروض أسعار على مستوى الحملة.
  4. أنشئ ميزانية حملة جديدة أو حدِّد ميزانية مشتركة حالية.

بالنسبة إلى حملات Shopping العادية، يتوافق ShoppingSetting مع الحقول التالية:

مطلوبة

merchant_id
رقم تعريف Merchant Center للحساب الذي يحتوي على المنتجات المطلوب الإعلان عنها.
campaign_priority
أولوية حملة Shopping الحملات ذات الأولوية الأعلى عدديًا تحظى بالأولوية على الحملات ذات الأولوية الأقل. تكون القيم المسموح بها بين 0 و2 بشكل شامل.

اختيارية

feed_label

سلسلة تُستخدَم لتصنيف الخلاصة على النحو المحدّد في Merchant Center. ويجب استخدام هذا الحقل عند الحاجة إلى اختيار منتجات من خلاصة معيّنة على Merchant Center. وفي حال عدم تحديد قيمة، ستستخدم الحملة جميع الخلاصات المتوفّرة في Merchant Center.

إذا سبق لك استخدام رمز sales_country المتوقّف نهائيًا بتنسيق رمز البلد المكوّن من حرفَين (XX)، عليك استخدام السمة feed_label بدلاً من ذلك. لمزيد من المعلومات، يمكنك الاطّلاع على مقالة المساعدة حول تصنيف الخلاصة.

تجدر الإشارة إلى أنّ إرسال رمز البلد في feed_label لا يؤدي إلى عرض الإعلانات تلقائيًا في هذا البلد. يجب أولاً إعداد ميزة استهداف الموقع الجغرافي.

enable_local

خيار تفعيل الإعلانات للمنتجات التي تُباع في المتاجر المحلية لهذه الحملة.

يمكن إعداد استراتيجية عروض الأسعار على النحو التالي:

استراتيجية المحفظة لعروض الأسعار
استراتيجية عروض أسعار مبرمَجة يمكن مشاركتها على مستوى الحملات والمجموعات الإعلانية والكلمات الرئيسية تم إنشاؤه باستخدام BiddingStrategyService.
استراتيجية عروض أسعار الحملة
استراتيجية عروض أسعار تمّ ضبطها مباشرةً على الحملة ويمكن أن يشمل ذلك استراتيجيات عروض الأسعار المبرمَجة المتوافقة مع "حملات Shopping".

بالنسبة إلى "حملات Shopping العادية"، تتوفّر استراتيجيات عروض الأسعار التالية:

استراتيجيات المحفظة لعروض الأسعار

استراتيجية عروض أسعار الحملة

إعدادات الشبكة

اعتبارًا من الأسبوع الذي يبدأ في 28 شباط (فبراير) 2022، لم تعُد "حملات Shopping العادية" تتيح استخدام حقل network_settings.target_content_network.

يؤدي ضبط هذا الحقل على true في "حملة Shopping عادية" في طلب تغيير إلى ظهور خطأ CANNOT_TARGET_CONTENT_NETWORK.

ولمعرفة مزيد من التفاصيل، يُرجى الاطّلاع على التغييرات في إعدادات الشبكة الخاصة بـ "حملات Shopping العادية" في "إعلانات Google".

يعرض مثال الرمز هذا كيفية إنشاء "حملة Shopping عادية".

Java

private String addStandardShoppingCampaign(
    GoogleAdsClient googleAdsClient,
    long customerId,
    String budgetResourceName,
    long merchantCenterAccountId) {

  // Configures the shopping settings.
  ShoppingSetting shoppingSetting =
      ShoppingSetting.newBuilder()
          // Sets the priority of the campaign. Higher numbers take priority over lower numbers.
          // For Shopping product ad campaigns, allowed values are between 0 and 2, inclusive.
          .setCampaignPriority(0)
          .setMerchantId(merchantCenterAccountId)
          // Enables local inventory ads for this campaign.
          .setEnableLocal(true)
          .build();

  // Create the standard shopping campaign.
  Campaign campaign =
      Campaign.newBuilder()
          .setName("Interplanetary Cruise #" + getPrintableDateTime())
          // Configures settings related to shopping campaigns including advertising channel type
          // and shopping setting.
          .setAdvertisingChannelType(AdvertisingChannelType.SHOPPING)
          .setShoppingSetting(shoppingSetting)
          // Recommendation: Sets the campaign to PAUSED when creating it to prevent
          // the ads from immediately serving. Set to ENABLED once you've added
          // targeting and the ads are ready to serve.
          .setStatus(CampaignStatus.PAUSED)
          // Sets the bidding strategy to Manual CPC (with eCPC disabled). eCPC for standard
          // Shopping campaigns is deprecated. If eCPC is set to true, Google Ads ignores the
          // setting and behaves as if the setting was false. See this blog post for more
          // information:
          // https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
          // Recommendation: Use one of the automated bidding strategies for Shopping campaigns
          // to help you optimize your advertising spend. More information can be found here:
          // https://support.google.com/google-ads/answer/6309029.
          .setManualCpc(ManualCpc.newBuilder().setEnhancedCpcEnabled(false).build())
          // Sets the budget.
          .setCampaignBudget(budgetResourceName)
          .build();

  // Creates a campaign operation.
  CampaignOperation operation = CampaignOperation.newBuilder().setCreate(campaign).build();

  // Issues a mutate request to add the campaign.
  try (CampaignServiceClient campaignServiceClient =
      googleAdsClient.getLatestVersion().createCampaignServiceClient()) {
    MutateCampaignsResponse response =
        campaignServiceClient.mutateCampaigns(
            Long.toString(customerId), Collections.singletonList(operation));
    MutateCampaignResult result = response.getResults(0);
    System.out.printf(
        "Added a standard shopping campaign with resource name: '%s'%n",
        result.getResourceName());
    return result.getResourceName();
  }
}

      

C#

private string AddStandardShoppingCampaign(GoogleAdsClient client, long customerId,
    string budgetResourceName, long merchantCenterAccountId)
{
    // Get the CampaignService.
    CampaignServiceClient campaignService =
        client.GetService(Services.V17.CampaignService);

    // Configures the shopping settings.
    ShoppingSetting shoppingSetting = new ShoppingSetting()
    {
        // Sets the priority of the campaign. Higher numbers take priority over lower
        // numbers. For Shopping Product Ad campaigns, allowed values are between 0 and 2,
        // inclusive.
        CampaignPriority = 0,

        MerchantId = merchantCenterAccountId,

        // Enables local inventory ads for this campaign.
        EnableLocal = true
    };

    // Create the standard shopping campaign.
    Campaign campaign = new Campaign()
    {
        Name = "Interplanetary Cruise #" + ExampleUtilities.GetRandomString(),

        // Configures settings related to shopping campaigns including advertising channel
        // type and shopping setting.
        AdvertisingChannelType = AdvertisingChannelType.Shopping,

        ShoppingSetting = shoppingSetting,

        // Recommendation: Set the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve
        Status = CampaignStatus.Paused,

        // Sets the bidding strategy to Manual CPC (with eCPC disabled). eCPC for standard
        // Shopping campaigns is deprecated. If eCPC is set to true, Google Ads ignores the
        // setting and behaves as if the setting was false. See this blog post for more
        // information:
        // https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
        // Recommendation: Use one of the automated bidding strategies for Shopping
        // campaigns to help you optimize your advertising spend. More information can be
        // found here: https://support.google.com/google-ads/answer/6309029
        ManualCpc = new ManualCpc()
        {
            EnhancedCpcEnabled = false
        },

        // Sets the budget.
        CampaignBudget = budgetResourceName
    };

    // Creates a campaign operation.
    CampaignOperation operation = new CampaignOperation()
    {
        Create = campaign
    };

    // Issues a mutate request to add the campaign.
    MutateCampaignsResponse response =
        campaignService.MutateCampaigns(customerId.ToString(),
            new CampaignOperation[] { operation });
    MutateCampaignResult result = response.Results[0];
    Console.WriteLine("Added a standard shopping campaign with resource name: '{0}'.",
        result.ResourceName);
    return result.ResourceName;
}
      

PHP

private static function addStandardShoppingCampaign(
    GoogleAdsClient $googleAdsClient,
    int $customerId,
    string $budgetResourceName,
    int $merchantCenterAccountId
) {
    // Creates a standard shopping campaign.
    $campaign = new Campaign([
        'name' => 'Interplanetary Cruise Campaign #' . Helper::getPrintableDatetime(),
        // Configures settings related to shopping campaigns including advertising channel type
        // and shopping setting.
        'advertising_channel_type' => AdvertisingChannelType::SHOPPING,
        // Configures the shopping settings.
        'shopping_setting' => new ShoppingSetting([
            // Sets the priority of the campaign. Higher numbers take priority over lower
            // numbers. For Shopping product ad campaigns, allowed values are between 0 and 2,
            // inclusive.
            'campaign_priority' => 0,
            'merchant_id' => $merchantCenterAccountId,
            // Enables local inventory ads for this campaign
            'enable_local' => true
        ]),
        // Recommendation: Set the campaign to PAUSED when creating it to prevent
        // the ads from immediately serving. Set to ENABLED once you've added
        // targeting and the ads are ready to serve.
        'status' => CampaignStatus::PAUSED,
        // Sets the bidding strategy to Manual CPC (with eCPC disabled). eCPC for standard
        // Shopping campaigns is deprecated. If eCPC is set to true, Google Ads ignores the
        // setting and behaves as if the setting was false. See this blog post for more
        // information:
        // https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
        // Recommendation: Use one of the automated bidding strategies for Shopping campaigns
        // to help you optimize your advertising spend. More information can be found here:
        // https://support.google.com/google-ads/answer/6309029.
        'manual_cpc' => new ManualCpc(['enhanced_cpc_enabled' => false]),
        // Sets the budget.
        'campaign_budget' => $budgetResourceName
    ]);

    // Creates a campaign operation.
    $campaignOperation = new CampaignOperation();
    $campaignOperation->setCreate($campaign);

    // Issues a mutate request to add campaigns.
    $campaignServiceClient = $googleAdsClient->getCampaignServiceClient();
    $response = $campaignServiceClient->mutateCampaigns(
        MutateCampaignsRequest::build($customerId, [$campaignOperation])
    );

    /** @var Campaign $addedCampaign */
    $addedCampaign = $response->getResults()[0];
    printf(
        "Added a standard shopping campaign with resource name '%s'.%s",
        $addedCampaign->getResourceName(),
        PHP_EOL
    );

    return $addedCampaign->getResourceName();
}
      

Python

def add_standard_shopping_campaign(
    client, customer_id, budget_resource_name, merchant_center_account_id
):
    """Creates a new standard shopping campaign in the specified client account."""
    campaign_service = client.get_service("CampaignService")

    # Create standard shopping campaign.
    campaign_operation = client.get_type("CampaignOperation")
    campaign = campaign_operation.create
    campaign.name = f"Interplanetary Cruise Campaign {uuid.uuid4()}"

    # Configures settings related to shopping campaigns including advertising
    # channel type and shopping setting.
    campaign.advertising_channel_type = (
        client.enums.AdvertisingChannelTypeEnum.SHOPPING
    )
    campaign.shopping_setting.merchant_id = merchant_center_account_id

    # Sets the priority of the campaign. Higher numbers take priority over lower
    # numbers. For standard shopping campaigns, allowed values are between 0 and
    # 2, inclusive.
    campaign.shopping_setting.campaign_priority = 0

    # Enables local inventory ads for this campaign.
    campaign.shopping_setting.enable_local = True

    # Recommendation: Set the campaign to PAUSED when creating it to prevent the
    # ads from immediately serving. Set to ENABLED once you've added targeting
    # and the ads are ready to serve.
    campaign.status = client.enums.CampaignStatusEnum.PAUSED

    # Sets the bidding strategy to Manual CPC (with eCPC disabled). eCPC for
    # standard Shopping campaigns is deprecated. If eCPC is set to true, Google
    # Ads ignores the setting and behaves as if the setting was false. See this
    # blog post for more information:
    # https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
    # Recommendation: Use one of the automated bidding strategies for Shopping
    # campaigns to help you optimize your advertising spend. More information
    # can be found here: https://support.google.com/google-ads/answer/6309029
    campaign.manual_cpc.enhanced_cpc_enabled = False

    # Sets the budget.
    campaign.campaign_budget = budget_resource_name

    # Add the campaign.
    campaign_response = campaign_service.mutate_campaigns(
        customer_id=customer_id, operations=[campaign_operation]
    )

    campaign_resource_name = campaign_response.results[0].resource_name

    print(
        "Added a standard shopping campaign with resource name "
        f"'{campaign_resource_name}'."
    )

    return campaign_resource_name
      

Ruby

def add_standard_shopping_campaign(
    client, customer_id, budget_name, merchant_center_id)

  operation = client.operation.create_resource.campaign do |campaign|
    campaign.name = "Interplanetary Cruise Campaign ##{(Time.new.to_f * 1000).to_i}"

    # Shopping campaign specific settings
    campaign.advertising_channel_type = :SHOPPING

    campaign.shopping_setting = client.resource.shopping_setting do |shopping_setting|
      shopping_setting.merchant_id = merchant_center_id
      shopping_setting.campaign_priority = 0
      shopping_setting.enable_local = true
    end

    campaign.status = :PAUSED

    # Sets the bidding strategy to Manual CPC (with eCPC disabled). eCPC for standard
    # Shopping campaigns is deprecated. If eCPC is set to true, Google Ads ignores the
    # setting and behaves as if the setting was false. See this blog post for more
    # information:
    # https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
    campaign.manual_cpc = client.resource.manual_cpc do |manual_cpc|
      manual_cpc.enhanced_cpc_enabled = false
    end

    campaign.campaign_budget = budget_name
  end

  service = client.service.campaign
  response = service.mutate_campaigns(
    customer_id: customer_id,
    operations: [operation],
  )

  campaign_name = response.results.first.resource_name

  puts "Added a standard shopping campaign with resource name #{campaign_name}."

  campaign_name
end
      

Perl

sub add_standard_shopping_campaign {
  my ($api_client, $customer_id, $budget_resource_name,
    $merchant_center_account_id)
    = @_;

  # Create a standard shopping campaign.
  my $campaign = Google::Ads::GoogleAds::V17::Resources::Campaign->new({
      name => "Interplanetary Cruise Campaign #" . uniqid(),
      # Configure settings related to shopping campaigns including advertising
      # channel type and shopping setting.
      advertisingChannelType => SHOPPING,
      shoppingSetting        =>
        Google::Ads::GoogleAds::V17::Resources::ShoppingSetting->new({
          merchantId => $merchant_center_account_id,
          # Set the priority of the campaign. Higher numbers take priority over
          # lower numbers. For standard shopping campaigns, allowed values are
          # between 0 and 2, inclusive.
          campaignPriority => 0,
          # Enable local inventory ads for this campaign.
          enableLocal => "true"
        }
        ),
      # Recommendation: Set the campaign to PAUSED when creating it to prevent
      # the ads from immediately serving. Set to ENABLED once you've added
      # targeting and the ads are ready to serve.
      status => Google::Ads::GoogleAds::V17::Enums::CampaignStatusEnum::PAUSED,
      # Set the bidding strategy to Manual CPC (with eCPC disabled). eCPC for
      # standard Shopping campaigns is deprecated. If eCPC is set to true,
      # Google Ads ignores the setting and behaves as if the setting was false.
      # See this blog post for more information:
      # https://ads-developers.googleblog.com/2023/09/google-ads-shopping-campaign-enhanced.html
      # Recommendation: Use one of the automated bidding strategies for shopping
      # campaigns to help you optimize your advertising spend. More information
      # can be found here: https://support.google.com/google-ads/answer/6309029.
      manualCpc => Google::Ads::GoogleAds::V17::Common::ManualCpc->new(
        {enhancedCpcEnabled => "false"}
      ),
      # Set the budget.
      campaignBudget => $budget_resource_name
    });

  # Create a campaign operation.
  my $campaign_operation =
    Google::Ads::GoogleAds::V17::Services::CampaignService::CampaignOperation->
    new({create => $campaign});

  # Add the campaign.
  my $campaign_resource_name = $api_client->CampaignService()->mutate({
      customerId => $customer_id,
      operations => [$campaign_operation]})->{results}[0]{resourceName};

  printf "Added a standard shopping campaign with resource name: '%s'.\n",
    $campaign_resource_name;

  return $campaign_resource_name;
}
      

حملات التسوّق الذكية