إنشاء حملة تسوّق

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

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

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

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

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

  1. اضبط advertising_channel_type للحملة على SHOPPING.
  2. أنشِئ ShoppingSetting، واضبط الحقول، ثم أضِفها إلى الحملة.
  3. أنشئ استراتيجية محفظة لعروض الأسعار أو اضبط استراتيجية عروض أسعار على مستوى الحملة.
  4. أنشئ ميزانية حملة جديدة أو اضبط ميزانية مشتركة حالية.
  5. أضِف بيانًا للإفصاح عمّا إذا كانت الحملة تعرض إعلانات سياسية تستهدف الاتحاد الأوروبي من خلال ضبط contains_eu_political_advertising (مثل DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING أو CONTAINS_EU_POLITICAL_ADVERTISING).

يمكنك استخدام متوسط ميزانية يومية أو ميزانية إجمالية للحملة. لا تتوفّر الميزانيات الإجمالية للحملات إلّا للحملات التي لها تاريخا بدء وانتهاء محدّدان (يتم ضبطهما في Campaign باستخدام start_date_time وend_date_time). يمكنك الاطّلاع على إنشاء ميزانيات الحملات للحصول على تفاصيل عن إنشاء الميزانيات.

بالنسبة إلى "حملات Shopping العادية"، تتيح ShoppingSetting استخدام الحقول التالية.

حقول مطلوبة

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

حقول اختيارية

feed_label

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

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

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

enable_local

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

ignore_brand_exclusion_in_shopping_ads

تتوفّر هذه الميزة في الإصدار 24 والإصدارات الأحدث. قيمة منطقية، عند ضبطها على true، يتم تجاهل استبعادات العلامات التجارية في "إعلانات Shopping" ضمن هذه الحملة.

advertising_partner_ids

قائمة غير قابلة للتغيير بأرقام تعريف حسابات "إعلانات Google" للشركاء الإعلانيين المتعاونين ضمن الحملة تتوفّر هذه الميزة للحسابات التي تتضمّن رابطًا لشريك إعلاني.

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

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

لا تتيح "حملات Shopping العادية" استخدام الحقل network_settings.target_content_network.

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

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

مثال على الرمز البرمجي

ينشئ الرمز البرمجي التالي "حملة Shopping عادية" من خلال ضبط نوع القناة الإعلانية، ShoppingSetting، واستراتيجية عروض الأسعار، وميزانية الحملة، وحالة الإعلانات السياسية عن الاتحاد الأوروبي:

جافا

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
          // 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.getDefaultInstance())
          // Sets the budget.
          .setCampaignBudget(budgetResourceName)
          // Declares whether this campaign serves political ads targeting the EU.
          .setContainsEuPoliticalAdvertising(DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING)
          .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.V26.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.
        // 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(),

        // Sets the budget.
        CampaignBudget = budgetResourceName,

        // Declare whether or not this campaign contains political ads targeting the EU.
        ContainsEuPoliticalAdvertising = EuPoliticalAdvertisingStatus.DoesNotContainEuPoliticalAdvertising,
    };

    // 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.
            // 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(),
            // Sets the budget.
            'campaign_budget' => $budgetResourceName,
            // Declare whether or not this campaign serves political ads targeting the EU.
            'contains_eu_political_advertising' =>
                EuPoliticalAdvertisingStatus::DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
            ]
        );

        // 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: GoogleAdsClient,
    customer_id: str,
    budget_resource_name: str,
    merchant_center_account_id: int,
) -> str:
    """Creates a new standard shopping campaign in the specified client account."""
    campaign_service: CampaignServiceClient = client.get_service(
        "CampaignService"
    )

    # Create standard shopping campaign.
    campaign_operation: CampaignOperation = client.get_type("CampaignOperation")
    campaign: 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.
    # 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 = client.get_type("ManualCpc")

    # Sets the budget.
    campaign.campaign_budget = budget_resource_name

    # Declare whether or not this campaign serves political ads targeting the
    # EU. Valid values are:
    #   CONTAINS_EU_POLITICAL_ADVERTISING
    #   DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    campaign.contains_eu_political_advertising = (
        client.enums.EuPoliticalAdvertisingStatusEnum.DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    )

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

    campaign_resource_name: str = 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.
    campaign.manual_cpc = client.resource.manual_cpc

    campaign.campaign_budget = budget_name

    # Declare whether or not this campaign serves political ads targeting the EU.
    # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
    # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
    c.contains_eu_political_advertising = :DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
  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::V26::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::V26::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::V26::Enums::CampaignStatusEnum::PAUSED,
      # Set the bidding strategy to Manual CPC.
      # 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::V26::Common::ManualCpc->new(),
      # Set the budget.
      campaignBudget => $budget_resource_name,
      # Declare whether or not this campaign serves political ads targeting the EU.
      # Valid values are CONTAINS_EU_POLITICAL_ADVERTISING and
      # DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING.
      containsEuPoliticalAdvertising =>
        DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING
    });

  # Create a campaign operation.
  my $campaign_operation =
    Google::Ads::GoogleAds::V26::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;
}
      

curl

حملات مقارنة

تتوفّر حملات المقارنة لخدمات مقارنة الأسعار (CSS) المشارِكة في برنامج CSS في البلدان التي يتوفّر فيها هذا البرنامج. تتيح هذه الحملات لخدمات CSS الإعلان عن مجموعة من المنتجات من موقعها الإلكتروني.

تتطلّب "حملات المقارنة" ما يلي:

  • يجب ربط حساب "إعلانات Google" بالحساب الرئيسي المتعدّد العملاء لخدمة CSS في Merchant Center. إذا لم يكن الحساب غير مؤهّل لاستخدام "حملات المقارنة"، قد يظهر لك الخطأ MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS.
  • يجب أن تكون قيمة advertising_channel_type للحملة هي SHOPPING.
  • يجب ضبط type للمجموعات الإعلانية على SHOPPING_COMPARISON_LISTING_ADS.
    • لعرض الإعلانات، يجب أن تتضمّن كل مجموعة إعلانية شجرة تقسيم منتجات تحتوي على listing group واحد على الأقل. أبسط بنية شجرية هي عقدة جذر واحدة تتضمّن كل المنتجات في المجموعة الإعلانية. لمزيد من التفاصيل، يُرجى الاطّلاع على دليل مجموعات بطاقات بيانات المتجر.

إعلانات المركبات

يمكنك استخدام "حملات Shopping العادية" لعرض إعلانات المركبات لمخزون المركبات الذي تم تحميله إلى Merchant Center.

لإنشاء حملة تسوّق تتضمّن خلاصة المركبات، اتّبِع الخطوات التالية:

  1. اتّبِع خطوات إعداد "حملة Shopping عادية".
  2. اضبط listing_type للحملة على VEHICLES (متاح في "حملات تسوّق" في الإصدار 26 والإصدارات الأحدث). هذا الحقل غير قابل للتغيير (CREATE_ONLY) ولا يمكن ضبطه إلا أثناء إنشاء الحملة.
  3. اضبط shopping_setting باستخدام merchant_id لحسابك على Merchant Center الذي يحتوي على خلاصة مخزون المركبات الموافَق عليها.
  4. يمكنك إعداد موارد الحملة اللاحقة (المجموعات الإعلانية وإعلانات المجموعات الإعلانية ومجموعات البيانات) باستخدام بنية "حملة Shopping العادية".