쇼핑 캠페인 만들기

쇼핑 광고를 구현하는 첫 번째 단계는 쇼핑 캠페인을 만드는 것입니다. 쇼핑 캠페인을 사용하면 제품 이미지와 함께 제품명, 가격, 매장 이름 등이 표시된 광고를 볼 수 있습니다. 쇼핑 캠페인을 만들 때 예산, 입찰 전략, 쇼핑 설정을 설정해야 합니다.

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

일반 쇼핑 캠페인

제품 쇼핑 광고를 만드는 데 필요한 캠페인입니다. 제품 쇼핑 광고를 사용하면 판매하는 각 제품에 대해 고유한 광고를 만들지 않아도 광고 내에 이미지, 제품명, 가격, 매장 또는 업체 이름을 포함할 수 있습니다.

일반 쇼핑 캠페인을 설정하려면 다음 단계를 따르세요.

  1. 캠페인의 advertising_channel_type을 SHOPPING로 설정합니다.
  2. ShoppingSetting를 만들고 필드를 설정한 다음 캠페인에 추가합니다.
  3. 포트폴리오 입찰 전략을 만들거나 캠페인 수준 입찰 전략을 설정합니다.
  4. 새 캠페인 예산을 만들거나 또는 기존 공유 예산을 설정합니다.
  5. contains_eu_political_advertising (예: DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING 또는 CONTAINS_EU_POLITICAL_ADVERTISING)을 설정하여 캠페인에서 유럽연합을 타겟팅하는 정치 광고를 게재하는지 선언합니다.

평균 일일 예산 또는 캠페인 총 예산을 사용할 수 있습니다. 캠페인 총 예산은 시작일과 종료일이 설정된 캠페인에만 사용할 수 있습니다(start_date_time 및 end_date_time을 사용하여 Campaign에서 구성됨). 예산 만들기에 관한 자세한 내용은 캠페인 예산 만들기를 참고하세요.

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

일반 쇼핑 캠페인의 필수 입력란

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

일반 쇼핑 캠페인의 선택사항 필드

feed_label

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

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

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

enable_local

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

ignore_brand_exclusion_in_shopping_ads

v24.2 이상에서 사용 가능 true로 설정된 경우 이 캠페인의 쇼핑 광고에 대한 브랜드 제외를 무시하는 불리언입니다.

advertising_partner_ids

캠페인 내에서 협력하는 광고 파트너의 변경 불가능한 Google Ads 계정 ID 목록입니다. 광고 파트너 링크가 있는 계정에서 사용할 수 있습니다.

입찰 전략은 포트폴리오 입찰 전략 또는 캠페인 입찰 전략으로 설정할 수 있습니다.

네트워크 설정

일반 쇼핑 캠페인은 network_settings.target_content_network 필드를 지원하지 않습니다.

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

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

코드 예

다음 코드는 광고 채널 유형(ShoppingSetting), 입찰 전략, 캠페인 예산, EU 정치 광고 상태를 구성하여 일반 쇼핑 캠페인을 만듭니다.

자바

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.V25.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::V25::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::V25::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::V25::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::V25::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::V25::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)에 제공됩니다. 이 캠페인을 사용하면 CSS가 웹사이트의 제품 그룹을 광고할 수 있습니다.

가격 비교 광고 캠페인에는 다음과 같은 요구사항이 있습니다.

  • Google Ads 계정은 판매자 센터의 CSS 기본 멀티 클라이언트 계정과 연결되어야 합니다. 계정이 비교 서비스 등록정보 캠페인을 이용할 수 없는 경우 MERCHANT_NOT_ALLOWED_FOR_COMPARISON_LISTING_ADS 오류가 표시될 수 있습니다.
  • 캠페인의 advertising_channel_type은 SHOPPING이어야 합니다.
  • 광고 그룹의 type이 SHOPPING_COMPARISON_LISTING_ADS으로 설정되어 있어야 합니다.
    • 광고를 게재하려면 각 광고 그룹에 하나 이상의 listing group이 포함된 제품 파티션 트리가 포함되어야 합니다. 가장 간단한 트리 구조는 광고 그룹의 모든 제품을 포함하는 단일 루트 노드입니다. 자세한 내용은 등록정보 그룹 가이드를 참고하세요.

차량 광고