7. Google Inc. - All Rights Reserved
Merchant Center
http://google.com/merchants
8. 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
9. Google Inc. - All Rights Reserved
Multi-Client Accounts - same idea as MCCs in AdWords
Merchant Center
10. 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
11. 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
12. 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
14. 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
15. Google Inc. - All Rights Reserved
Shopping Content API
16. 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
17. Google Inc. - All Rights Reserved
Shopping Campaigns
18. 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
19. 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});
20. Google Inc. - All Rights Reserved
Product Dimensions
21. Google Inc. - All Rights Reserved
Make bidding decisions based on product data
● Category
● Brand
● Item ID
● Condition
● Product type
● Custom labels
Product Dimensions
22. Google Inc. - All Rights Reserved
Category ProductBiddingCategory
Brand ProductBrand
Item ID ProductOfferId
Condition ProductCanonicalCondition
Product type ProductType
Custom labels ProductCustomAttribute
Product Dimensions
23. 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");
24. Google Inc. - All Rights Reserved
ProductCanonicalCondition is an enumeration
Product Dimensions
Java
ProductCanonicalCondition c = new
ProductCanonicalCondition();
// Set the canonical condition using the ENUM
c.setCondition(
ProductCanonicalConditionCondition.NEW);
25. 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");
26. Google Inc. - All Rights Reserved
ProductType and ProductBiddingCategory are values with
a hierarchical type
A product type in Merchant Center of “Media > Books”
matches an L1 type of Media and an L2 type of Books
Product Dimensions
Java
ProductType productType = new ProductType();
productType.setType(
ProductDimensionType.PRODUCT_TYPE_L1);
productType.setValue("Media");
27. 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);
28. Google Inc. - All Rights Reserved
Product Partitions
29. Google Inc. - All Rights Reserved
Product Partitions
30. Google Inc. - All Rights Reserved
Product Partitions
31. Google Inc. - All Rights Reserved
Product Partitions
32. Google Inc. - All Rights Reserved
Product Partitions
33. Google Inc. - All Rights Reserved
Root is a subdivision. It has no value and no parent
Product Partitions
Java
ProductPartition root = new ProductPartition();
root.setPartitionType(
ProductPartitionType.SUBDIVISION);
root.setId(-1);
34. Google Inc. - All Rights Reserved
Java
ProductPartition root = new ProductPartition();
root.setPartitionType(
ProductPartitionType.SUBDIVISION);
root.setId(-1);
Root is a subdivision. It has no value and no parent.
Product Partitions
35. Google Inc. - All Rights Reserved
The Toys category is a unit. It has root as it’s parent.
Product Partitions
Java
ProductBiddingCategory toysDimension = ...
ProductPartition toys = new ProductPartition();
toys.setPartitionType(ProductPartitionType.UNIT);
toys.setParentCriterionId(root.getId());
toys.setCaseValue(toysDimension);
36. Google Inc. - All Rights Reserved
To create an Other node, use a dimension with no value
Product Partitions
Java
ProductBrand otherBrand = new ProductBrand();
ProductBiddingCategory otherCat = new
ProductBiddingCategory();
otherCat.setType(ProductDimensionType.BIDDING_CATEGORY_L1);
38. 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);
39. 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 });
40. Google Inc. - All Rights Reserved
Resources
Documentation links
Shopping Content API - http://goo.gl/hJ1KER
Shopping Campaigns guide - http://goo.gl/sPnkic