쇼핑 캠페인 만들기

쇼핑 광고를 구현하려면 먼저 쇼핑 캠페인을 만들어야 합니다. 쇼핑 캠페인을 이용하면 제품명, 가격, 매장 이름 등의 제품 이미지가 표시된 광고를 볼 수 있습니다. 쇼핑 캠페인을 만들 때는 예산, 입찰 전략, 쇼핑 설정을 지정해야 합니다.

쇼핑 캠페인을 만들려면 먼저 Google Ads 계정을 Google 판매자 센터 계정에 연결해야 합니다. 계정을 연결하고 나면 쇼핑 설정을 지정할 때 Google 판매자 센터 계정 ID를 사용할 수 있습니다.

일반 쇼핑 캠페인

제품 쇼핑 광고를 만드는 데 필요한 캠페인입니다. 제품 쇼핑 광고를 사용하면 이미지, 제품명, 가격, 매장 또는 업체 이름을 광고에 넣을 수 있으며, 판매하는 제품별로 고유한 광고를 만들지 않아도 됩니다.

일반 쇼핑 캠페인을 설정하는 단계는 다음과 같습니다.

  1. 캠페인의 advertising_channel_typeSHOPPING로 설정합니다.
  2. ShoppingSetting를 만들고 필드를 설정한 다음 캠페인에 추가합니다.
  3. 포트폴리오 입찰 전략을 만들거나 또는 캠페인 수준 입찰 전략을 설정합니다.
  4. 새 캠페인 예산을 만들거나 또는 기존 공유 예산을 설정합니다.

일반 쇼핑 캠페인의 경우 ShoppingSetting에서 다음 필드를 지원합니다.

필수

merchant_id
광고할 제품이 포함된 계정의 판매자 센터 ID입니다.
campaign_priority
쇼핑 캠페인의 우선순위입니다. 숫자 우선순위가 높은 캠페인이 우선순위가 낮은 캠페인보다 우선합니다. 허용되는 값은 0 이상 2 이하입니다.

선택사항

feed_label

판매자 센터에 정의된 피드 라벨에 사용되는 문자열입니다. 이 필드는 특정 판매자 센터 피드에서 제품을 선택해야 하는 경우에 사용해야 합니다. 지정하지 않으면 캠페인에서 판매자 센터에서 사용 가능한 모든 피드를 사용합니다.

이전에 지원 중단된 sales_country를 두 글자 국가 코드 (XX) 형식으로 사용한 경우 대신 feed_label를 사용해야 합니다. 자세한 내용은 피드 라벨 지원 도움말을 참고하세요.

feed_label에 국가 코드를 제출해도 해당 국가에 광고가 자동으로 게재되지는 않습니다. 먼저 지리적 위치 타겟팅을 설정해야 합니다.

enable_local

이 캠페인에서 오프라인 상점에서 판매하는 제품의 광고를 사용 설정하는 옵션입니다.

입찰 전략은 다음과 같이 설정할 수 있습니다.

포트폴리오 입찰 전략
캠페인, 광고 그룹, 키워드 간에 공유할 수 있는 자동 입찰 전략입니다. BiddingStrategyService를 사용하여 생성되었습니다.
캠페인 입찰 전략
캠페인에 직접 설정된 입찰 전략입니다. 여기에는 쇼핑 캠페인과 호환되는 자동 입찰 전략이 포함될 수 있습니다.

일반 쇼핑 캠페인에서는 다음과 같은 입찰 전략이 지원됩니다.

포트폴리오 입찰 전략

캠페인 입찰 전략

네트워크 설정

2022년 2월 28일부터 일반 쇼핑 캠페인에서 더 이상 network_settings.target_content_network 필드를 지원하지 않습니다.

변경 요청에서 일반 쇼핑 캠페인에서 이 필드를 true로 설정하면 CANNOT_TARGET_CONTENT_NETWORK 오류가 발생합니다.

자세한 내용은 Google Ads 일반 쇼핑 캠페인의 네트워크 설정 변경사항을 참조하세요.

이 코드 예는 일반 쇼핑 캠페인을 만드는 방법을 보여줍니다.

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.V16.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;
}
      

2,399필리핀

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::V16::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::V16::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::V16::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::V16::Common::ManualCpc->new(
        {enhancedCpcEnabled => "false"}
      ),
      # Set the budget.
      campaignBudget => $budget_resource_name
    });

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

스마트 쇼핑 캠페인