shopping campaigns and adwords api
DESCRIPTION
TRANSCRIPT
Google Inc. - All Rights Reserved
ShoppingMerchant Center and Shopping campaigns
Mat Scales, Google, Inc.
Agenda
● Google Shopping● Merchant Center
● Data Feeds● Content API
● Shopping campaigns● Product dimensions● Product partitions● Filtering
● Questions
Google Inc. - All Rights Reserved
Google Shoppinghttp://google.com/shopping
Google Inc. - All Rights Reserved
Google Shopping
Google Inc. - All Rights Reserved
Google Shopping
Google Inc. - All Rights Reserved
Merchant Centerhttp://google.com/merchants
Google Inc. - All Rights Reserved
● A Merchant Center account is tied to a Google account
● Can be associated with exactly one website
● Must verify and claim the site
Merchant Center
Google Inc. - All Rights Reserved
Multi-Client Accounts - same idea as MCCs in AdWords
Merchant Center
Google Inc. - All Rights Reserved
● View products, but not edit
● Manage account and subaccounts
● Data quality and disapproval information
● Link to AdWords accounts
● Tax and delivery
Merchant Center
Google Inc. - All Rights Reserved
The set of valid attributes for a product is listed in the Products Feed Spec - http://goo.gl/IyS0u
id, title, description, link, price, brand, availability, condition, ...
Product Attributes
Google Inc. - All Rights Reserved
Merchant Center products can have some Shopping campaign specific attributes
● adwords_redirect - The URL to send clicks to before redirecting to the product landing page
● custom_label_0 … custom_label_4 - User defined fields used for partitioning your product data.
AdWords Attributes
Google Inc. - All Rights Reserved
Data Feeds
Google Inc. - All Rights Reserved
● Feeds are documents containing product data
● CSV, XML, Google Sheets● Fetched on schedule or uploaded
manually● Processed only once every 24 hours● Designed for non-technical users
Data Feeds
Google Inc. - All Rights Reserved
Shopping Content API
Google Inc. - All Rights Reserved
● Manage products, data feeds, users, accounts
● Can make updates throughout the day
● Instant feedback on some data issues
Content API
Google Inc. - All Rights Reserved
Shopping Campaigns
Google Inc. - All Rights Reserved
How are Shopping campaigns different?● AdvertisingChannelType is SHOPPING● Must have a ShoppingSetting which sets
● The Merchant Center account to use for product data● The target country of the products to use● Optionally, a priority
● Must have a valid ProductPartition tree
Shopping Campaigns
Java
Google Inc. - All Rights Reserved
Creating a Shopping Campaign
// Create regular campaign
Campaign c = new Campaign();c.setAdvertisingChannelType(
AdvertisingChannelType.SHOPPING);
// Set shopping attributes
ShoppingSetting shoppingSetting = new ShoppingSetting();shoppingSetting.setMerchantId((long) 1234567);shoppingSetting.setSalesCountry("GB");
shoppingSetting.setCampaignPriority(0);
c.setSettings(new Setting[] {shoppingSetting});
Google Inc. - All Rights Reserved
Product Dimensions
Google Inc. - All Rights Reserved
Make bidding decisions based on product data● Category● Brand● Item ID● Condition● Product type● Custom labels
Product Dimensions
Google Inc. - All Rights Reserved
Category ProductBiddingCategory
Brand ProductBrand
Item ID ProductOfferId
Condition ProductCanonicalCondition
Product type ProductType
Custom labels ProductCustomAttribute
Product Dimensions
Google Inc. - All Rights Reserved
ProductBrand and ProductOfferId are simple values
Product Dimensions
Java
ProductBrand productBrand = new ProductBrand();productBrand.setValue("Nexus");
ProductOfferId productOfferId = new ProductOfferId();productOfferId.setValue("book1");
Google Inc. - All Rights Reserved
ProductCanonicalCondition is an enumeration
Product Dimensions
Java
ProductCanonicalCondition c = newProductCanonicalCondition();
// Set the canonical condition using the ENUM
c.setCondition(
ProductCanonicalConditionCondition.NEW);
Google Inc. - All Rights Reserved
ProductCustomAttribute is a value with a type
Product Dimensions
Java
ProductCustomAttribute pca = new ProductCustomAttribute();
pca.setType(ProductDimensionType.CUSTOM_ATTRIBUTE_0);
pca.setValue("my attribute value");
Google Inc. - All Rights Reserved
ProductType and ProductBiddingCategory are values with a hierarchical typeA product type in Merchant Center of “Media > Books” matches an L1 type of Media and an L2 type of Books
Product Dimensions
JavaProductType productType = new ProductType();productType.setType(
ProductDimensionType.PRODUCT_TYPE_L1);
productType.setValue("Media");
Google Inc. - All Rights Reserved
ProductBiddingCategory values are fixed IDs, retrieved from the ConstantDataService
Product Dimensions
Java
Selector selector = new SelectorBuilder() .equals("Country", "US")
.build();
ProductBiddingCategoryData[] results =
constantDataService
.getProductBiddingCategoryData(selector);
Google Inc. - All Rights Reserved
Product Partitions
Google Inc. - All Rights Reserved
Product Partitions
Google Inc. - All Rights Reserved
Product Partitions
Google Inc. - All Rights Reserved
Product Partitions
Google Inc. - All Rights Reserved
Product Partitions
Google Inc. - All Rights Reserved
Root is a subdivision. It has no value and no parent
Product Partitions
JavaProductPartition root = new ProductPartition();root.setPartitionType(
ProductPartitionType.SUBDIVISION);root.setId(-1);
Google Inc. - All Rights Reserved
JavaProductPartition root = new ProductPartition();root.setPartitionType(
ProductPartitionType.SUBDIVISION);root.setId(-1);
Root is a subdivision. It has no value and no parent.
Product Partitions
Google Inc. - All Rights Reserved
The Toys category is a unit. It has root as it’s parent.
Product Partitions
JavaProductBiddingCategory toysDimension = ...
ProductPartition toys = new ProductPartition();toys.setPartitionType(ProductPartitionType.UNIT);toys.setParentCriterionId(root.getId());toys.setCaseValue(toysDimension);
Google Inc. - All Rights Reserved
To create an Other node, use a dimension with no value
Product Partitions
JavaProductBrand otherBrand = new ProductBrand();
ProductBiddingCategory otherCat = newProductBiddingCategory();
otherCat.setType(ProductDimensionType.BIDDING_CATEGORY_L1);
Google Inc. - All Rights Reserved
Filtering
Google Inc. - All Rights Reserved
Filtering by channel
The Criterion ID for online is 200, and for local it is 201
ProductSalesChannel
Java
ProductSalesChannel channel = new ProductSalesChannel();
channel.setId(200L);
Google Inc. - All Rights Reserved
A ProductScope filters based on ProductDimensions
ProductScope
Java
ProductScope scope = new ProductScope();ProductBrand brand = new ProductBrand();brand.setValue("Nexus");
scope.setDimensions(new ProductDimension[]{ brand });
Google Inc. - All Rights Reserved
Resources
Documentation links
Shopping Content API - http://goo.gl/hJ1KERShopping Campaigns guide - http://goo.gl/sPnkic
Google Inc. - All Rights Reserved
Questions?
Google Inc. - All Rights Reserved