쇼핑 캠페인

사전 준비사항

본 가이드의 내용을 이해하려면 이미 애드워즈 API를 사용하여 캠페인을 만드는 방법에 대해 알고 있어야 합니다. 애드워즈 API를 사용하려면 API에 가입하여, API의 기본 개념을 익히고, 첫 요청을 하고, 보고서를 검색하는 방법에 대해서 알아보세요.

간단한 쇼핑 캠페인 만들기

쇼핑 캠페인제품 목록 광고에 대한 새로운 캠페인 유형입니다. 가장 간단한 유형의 쇼핑 캠페인은 모든 제품에 동일한 입찰가를 적용합니다. 간단한 쇼핑 캠페인을 만들려면 일반 PLA 캠페인과 유사한 예산, 입찰가 및 설정을 적용합니다.

쇼핑 캠페인을 설정하는 데는 두 가지 추가 단계가 있습니다. 먼저 v201506에 새 필드인 캠페인의 advertisingChannelTypeSHOPPING으로 설정합니다. 그런 다음 ShoppingSetting를 만들어 이를 캠페인에 추가합니다.

Campaign campaign = new Campaign();
campaign.setAdvertisingChannelType(AdvertisingChannelType.SHOPPING);

ShoppingSetting shoppingSetting = new ShoppingSetting();
shoppingSetting.setMerchantId(MERCHANT_ID);
shoppingSetting.setSalesCountry("GB");
shoppingSetting.setCampaignPriority(0);
campaign.setSettings(new Setting[] {shoppingSetting});

ShoppingSetting에는 다음과 같은 세 가지 속성이 있습니다.

merchantId (필수)
제품이 속한 판매자 센터 계정 ID
salesCountry(필수)
판매자 센터에서 타겟팅한 해당 국가에 있는 제품만을 선택합니다. 광고 타겟팅에는 영향을 미치지 않습니다.
campaignPriority (선택사항, 기본값: 0)
0, 1 또는 2. 두 개 이상의 캠페인(일반 PLA 캠페인 또는 쇼핑 캠페인)에서 동일한 판매자 센터 데이터 피드가 사용될 경우 캠페인의 우선 순위를 결정합니다. 우선 순위가 높은 캠페인을 선택합니다. 두 캠페인의 우선 순위가 같을 경우, 제품에 대해 더 높은 입찰가를 설정한 캠페인이 각 광고에 적용됩니다. 일반 PLA 캠페인은 캠페인의 우선 순위가 0이며 변경될 수 없습니다.

이제 ProductAd가 포함된 AdGroup을 추가하면 캠페인의 기본 설정이 완료됩니다. 다음으로 포함할 제품과 입찰가를 결정해야 합니다.

채널로 필터링

판매자 센터에 업로드된 제품은 온라인이나 오프라인에서 판매 중입니다. 제품이 실제로 오프라인과 온라인에서 모두 판매되는 경우에는 두 개의 항목을 별도로 설정해야 합니다. 사전 정의된 기준 ID(온라인은 기준 200 또는 오프라인은 기준 201) 중에서 하나로 ProductSalesChannel을 만들면 캠페인에서 각 유형에 따라 필터링할 수 있습니다. 지정된 판매 채널과 일치하는 제품만 선택됩니다.

ProductSalesChannel channel = new ProductSalesChannel();
channel.setId((long) 200); // Online

파티셔닝

쇼핑 캠페인의 장점은 여러 측정기준으로 제품 인벤토리를 구분하고 제품 그룹별로 입찰가를 설정할 수 있는 기능입니다. 아래 다이어그램은 제품 파티셔닝의 예를 보여줍니다.

장난감 카테고리에 있는 제품의 입찰가는 0.2달러입니다. 전자 제품의 입찰가는 브랜드별로 브랜드 A는 0.11달러, 브랜드 B는 0.12달러, 기타 브랜드는 0.13달러로 더 세분화됩니다. 마지막으로 기타 제품의 입찰가는 중고의 경우 0.31달러, 중고가 아닌 경우 0.32달러입니다.

이 구조를 트리로 만들면 트리의 각 수준은 파티션을 나타냅니다.

트리의 각 노드는 하위 부문이거나 유닛입니다. 하위 부문은 트리에서 새로운 수준을 만들고, 유닛은 트리의 잎에 해당하는 종단 노드입니다. 각 하위 부문은 항상 완전히 파티션되어야하므로 기타를 나타내는 유닛 유형이 포함되어야 합니다. 이 예에서는 루트, 카테고리: 전자 제품카테고리: (기타) 노드가 하위 부문입니다.

노드는 ProductPartition 클래스의 개체이며 Criterion 클래스의 하위 클래스입니다. ProductPartitionBiddableAdGroupCriterion 또는 NegativeAdGroupCriterion과 함께 AdGroup에 연결되어 있습니다.

ProductPartition 유형과 AdGroupCriterion 유형을 조합하면 다음과 같은 효과가 있습니다.

ProductPartition 유형 AdGroupCriterion 유형 효과
하위 부문 BiddableAdGroupCriterion 파티션 트리에 새 가지를 만들어 제품을 더 세분화합니다.
유닛 BiddableAdGroupCriterion 트리의 이 잎과 일치하는 제품에 대한 입찰가
유닛 NegativeAdGroupCriterion 이 조합을 사용하면 이 특정 잎에 대해 입찰을 하지 않지만 다른 (낮은 우선 순위의) 캠페인은 입찰을 할 수도 있음을 나타냅니다.

다른 조합에서는 오류가 발생됩니다.

ProductPartitionProductDimension 유형의 여러 하위 클래스 중의 하나일 수 있는 caseValue도 가지고 있습니다. ProductDimension은 브랜드, 카테고리 또는 조건과 같은 제품과 연관된 값을 나타냅니다. ProductDimension의 사용 가능한 유형에 대한 자세한 설명은 참조 문서를 참조하세요.

하위 부문의 각 직계 노드는 동일한 ProductDimension 하위 유형의 caseValue를 가져야 합니다. 오직 루트 노드만이 caseValue가 없습니다.

ProductPartition root = new ProductPartition();
root.setPartitionType(ProductPartitionType.SUBDIVISION);
root.setId(-1);

ProductPartition node1 = new ProductPartition();
node1.setPartitionType(ProductPartitionType.UNIT);
node1.setCaseValue(new ProductBrand(null, "Brand A"));
node1.setParentCriterionId(root.getId());

또한 각 하위 부문은 올바른 유형의 '빈' caseValue를 포함해야 하는데 이는 '모든 기타 값'을 나타냅니다.

ProductPartition node2 = new ProductPartition();
node2.setPartitionType(ProductPartitionType.UNIT);
node2.setCaseValue(new ProductBrand());
node2.setParentCriterionId(root.getId());

임시 ID

ID를 생성하라는 mutate 요청을 서버에서 처리해야 기준에 ID가 할당됩니다. 그러나 ProductPartition은 완료될 때까지 유효하지 않으므로, 하위 부문을 만들 때는 언제나 동일한 작업 안에서 하위 노드를 하나 이상 생성해야 합니다.

하위 노드에 대해 parentCriterionId를 설정하려면 임시 기준 ID를 사용할 수 있습니다. 이러한 ID는 전역적이 아니라 지역적으로 고유한 식별자로, 단일 mutate 요청 문맥 안에서만 적용됩니다. 모든 음의 정수를 임시 ID로 사용할 수 있습니다. 위의 샘플 코드에서는 루트 ProductPartition의 ID를 -1로 설정합니다.

요청이 처리되면 각 Criterion에는 평소처럼 양수의 전역적 ID가 할당됩니다.

제품 측정기준

쇼핑 캠페인에서는 다음과 같은 6개의 ProductDimension 유형을 사용할 수 있습니다.

ProductBiddingCategory, ProductCustomAttributeProductType은 하위 유형으로 더 세분화됩니다. 이 유형 중의 하나로 세분화할 경우 해당 하위 부문의 모든 caseValue도 하위 유형이 같아야 합니다.

ProductBiddingCategoryProductType은 계층 구조로, 하위 유형이 계층의 깊이를 나타냅니다. 미디어 카테고리는 BIDDING_CATEGORY_L1이고, 도서BIDDING_CATEGORY_L2미디어를 상위 노드로 가지고 있습니다. 상위 노드가 트리에서 세분화되어야만 caseValue로 세분화할 수 있습니다.

예를 들어 루트 아래에 노드로서 도서 카테고리가 바로 포함될 수 없고, 전자 제품도서의 상위 노드가 아니므로 전자 제품 아래에 도서가 바로 포함될 수도 없습니다.

ProductCustomAttribute는 계층 구조가 아닙니다. 대신 판매자 센터에서 하위 유형 CUSTOM_ATTRIBUTE_0부터 CUSTOM_ATTRIBUTE_4까지가 custom attribute 0부터 custom attribute 4의 값으로 매핑됩니다.

입찰 카테고리

ProductBiddingCategory 유형의 값은 고정된 ID입니다. ConstantDataService 메소드 getProductBiddingCategoryData에서 모든 입찰 카테고리 집합을 검색할 수 있습니다. 데이터 세트가 크고 자주 변경되지 않으므로 이 호출의 결과를 캐시하는 것이 좋습니다.

기존 ProductPartition 트리 수정

트리는 항상 완전해야 하므로 트리를 잘못되게 만드는 mutate 작업은 이를 다시 수정하는 작업과 동일한 요청 안에 있어야만 합니다. 하위 부문의 모든 하위 노드가 유효하려면 동일한 유형의 caseValue가 포함되어야 하며, 모든 하위 부문에 '기타' 노드가 포함되어야 합니다.

종단 노드를 더 세분화하려면 기존 유닛을 삭제하고  하위 부문을 동일한 caseValue로 교체해야 합니다. 그런 다음 새 노드의 하위 노드로 세부 조정할 수 있습니다.

하위 부문을 제거하면 모든 하위 노드도 재귀적으로 삭제됩니다.

제품 측정기준으로 필터링

ProductScope 기준을 추가해 캠페인에서 제품을 필터링할 수 있습니다. ProductScope은 캠페인당 최대 하나만 만들 수 있습니다. ProductScope는 제품의 한 측면에 대한 간단한 필터를 나타내는 하나 이상의 ProductDimension에 대한 컨테이너입니다. 예를 들어 ProductDimension의 ProductBrand 하위 유형을 추가하고 값을 'Nexus'로 설정하면 캠페인은 판매자 센터에서 브랜드가 'Nexus'로 설정되어 있는 제품에만 적용됩니다.

ProductScope productScope = new ProductScope();
productScope.setDimensions(new ProductDimension[] {new ProductBrand(null, "Nexus")});

최대 7개의 ProductDimensionProductScope에 추가할 수 있습니다. 제품은 캠페인에 포함될 모든 지정된 ProductDimension과 일치해야 합니다.

보고서

쇼핑 캠페인에 제품 파티션 보고서쇼핑 실적 보고서라는 새로운 보고서 2개가 추가되었습니다. 보고서 기본 가이드에서 보고서에 대해 자세히 알아보세요.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.