SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
Shopping Campaigns
Adam Ohren
Agenda
● Google Shopping & Merchant Center
● Content API for Shopping
● AdWords Shopping Campaigns
● Product Partition Trees
● Local Inventory Ads
● Product Partition Utility
Google Shopping &
Merchant Center
Google Shopping
Merchant Center
● View products, but not
edit
● Manage account and
subaccounts
● Data quality and
disapproval
information
● Link to AdWords
accounts
● Tax and delivery
settings
Multi-client Accounts
● Analogous to AdWords
MCCs
● Allows merchants to
manage many sub-
accounts
Data Feeds
● CSV, XML, Google Sheets with product data
● Fetched manually or on a schedule
Content API for
Shopping
Content API
● Manage products, data feeds, users,
accounts
● Can make updates throughout the day
● Instant feedback on some data issues
Content API Example
POST
/content/v2/YOUR_MERCHANT_ID/inventory/online/products/onl
ine:en:GB:book123
{
"price": {
"value": "3.99",
"currency": "USD"
}
}
Updating a product’s price:
Content API for Shopping
https://developers.google.com/shopping-content/
AdWords Shopping
Campaigns
Shopping Campaigns
Shopping Campaigns
● Connects a linked Merchant Center to
AdWords campaign
● Enables Product Listing Ads (PLAs)
● Manages bids based on product hierarchy
Shopping Campaigns Differences
● 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
○ Optional priority
● Must have a valid ProductPartition tree
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});
Product Partition
Trees
Product Partitions
Inventory is partitioned by various Product
Dimensions
Product Dimensions
Make bidding decisions based on product data
● Category
● Brand
● Item ID
● Condition
● Product type
● Custom labels
● Product channel v201502
● Product channel exclusivity v201502
Product Dimensions
Category ProductBiddingCategory
Brand ProductBrand
Item ID ProductOfferId
Condition ProductCanonicalCondition
Product type ProductType
Custom labels ProductCustomAttribute
Channel ProductChannel
Channel exclusivity ProductChannelExclusivity
Product Partitions
Product Partitions
Product Partitions
ProductPartition root = new ProductPartition();
root.setPartitionType(ProductPartitionType.SUBDIVISION);
root.setId(-1);
Product Partitions
Root is a subdivision. It has no value and no parent.
ProductBiddingCategory toysDimension = ...
ProductPartition toys = new ProductPartition();
toys.setPartitionType(ProductPartitionType.UNIT);
toys.setParentCriterionId(root.getId());
toys.setCaseValue(toysDimension);
Product Partitions
The Toys category is a unit. It has root as it’s parent.
ProductBrand otherBrand = new ProductBrand();
ProductBiddingCategory otherCat = new
ProductBiddingCategory();
otherCat.setType(ProductDimensionType.BIDDING_CATEGORY_L1);
Product Partitions
To create an Other node, use a dimension with no value
BiddableAdGroupCriterion toysCriterion = new ...
toysCriterion.setAdGroupId(...);
toysCriterion.setCriterion = toys;
toysCriterion.setBiddingStrategyConfiguration(...);
AdGroupCriterionOperation operation = new ...
operation.setOperand(toysCriterion);
operation.setOperation(Operator.ADD);
adGroupCriterionService.mutate(...);
Product Partitions
Create the tree
Local Inventory Ads
Local Inventory Ads
Easily make in-store products available in
shopping campaigns
New LIA Controls in v201502
1. Enable local inventory ads
2. Campaign-level filters for Channel &
ChannelExclusivity
3. Product tree dimensions for Channel &
ChannelExclusivity
Enable Local Inventory Ads
● Opt-in campaigns to serve local
information
Enable Local Inv. Ads Example
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);
shoppingSetting.setEnableLocal(true);
c.setSettings(new Setting[] {shoppingSetting});
Campaign-level Filters
● Use inventory filters to include / exclude
products based on channel dimensions
Campaign-level Filters Example
ProductScope scope = new ProductScope();
ProductChannel channel = new ProductChannel();
channel.setValue(“ONLINE”);
ProductChannelExclusivity channelEx = new
ProductChannelExclusivity();
channelEx.setValue(“SINGLE_CHANNEL”);
scope.setDimensions(new ProductDimension[]{ channel,
channelEx});
Product Tree Dimensions
● Segment product tree by Channel &
ChannelExclusivity
Product Tree Dimensions Example
ProductPartition node1 = new ProductPartition();
node1.setPartitionType(ProductPartitionType.UNIT);
node1.setCaseValue(new ProductChannel(null, "ONLINE"));
node1.setParentCriterionId(root.getId());
ProductPartition node2 = new ProductPartition();
node2.setPartitionType(ProductPartitionType.UNIT);
node2.setCaseValue(new ProductChannel(null, "LOCAL"));
node2.setParentCriterionId(root.getId());
Product Partition
Utility
Product Partition Utility
● Client-side extension that simplifies
creating, mutating, and removing
ProductPartitions
● Added in v201409
● Java client library only
Product Partition Utility
● ProductPartitionTree API
○ Abstracts tree handling
● ProductPartitionNode API
○ Abstracts nodes & properties (bids, dimensions, etc.)
Sample Use Cases
● Rebuild entire trees
● Convert SUBDIVISION <-> UNIT
● Update bids
Creating a ProductPartitionTree
ProductPartitionTree tree = ProductPartitionTree.
.createAdGroupTree(adWordsServices, adWordsSession, adGroupId);
ProductPartitionNode rootNode = tree.getRoot();
...
Construct a ProductPartitionTree using the
static createAdGroupTree method.
Get the root ProductPartitionNode from the
new tree.
Updating a Bid Example
tree.getRoot()
.getChild(ProductDimensions
.createType(ProductDimensionType.PRODUCT_TYPE_L1, "clothing"))
.asBiddableUnit()
.setBid(bid);
List<AdGroupCriterionOperation> operations = tree.getMutateOperations();
Convert UNIT to SUBDIVISION
Convert UNIT to SUBDIVISION - Cont.
ProductPartitionNode shoes = tree.getRoot()
.getChild(createType(ProductDimensionType.PRODUCT_TYPE_L1, "shoes"))
.asSubdivision();
shoes.addChild(createCanonicalCondition(
ProductCanonicalConditionCondition.NEW))
.asBiddableUnit().setBid(1000000L);
shoes.addChild(createCanonicalCondition(
ProductCanonicalConditionCondition.REFURBISHED))
.asBiddableUnit().setBid(1500000L);
shoes.addChild(createCanonicalCondition(null)).asExcludedUnit();
List<AdGroupCriterionOperation> operations = tree.getMutateOperations();
Rebuilding a Tree
List<AdGroupCriterionOperation> operations = tree.getMutateOperations();
tree.getRoot()
.asBiddableUnit()
.setBid(bid);
tree.getRoot()
.removeAllChildren()
.asSubdivision()
tree.getRoot()
.addChild(...);
...
Send Us Feedback!
We're looking for feedback on this utility.
If you use it, we want to hear
from you!
Check out the guide on github:
http://goo.gl/UmN17E
Resources
● Shopping Campaigns Guide
https://developers.google.com/adwords/api/docs/guides/shopping
● Product Partition Utility Example
https://github.com/googleads/googleads-java-lib (see
AddProductPartitionTree.java)

Más contenido relacionado

Similar a Shopping Campaigns

Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkPaolo Mottadelli
 
Learn Adobe analytics basics - Conversion variables
Learn Adobe analytics basics - Conversion variablesLearn Adobe analytics basics - Conversion variables
Learn Adobe analytics basics - Conversion variablesArunkumar Sundaram
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engineWO Community
 
Decoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceDecoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceMatt Glaman
 
The Google Shopping Product Feed: All Mandatory Attributes at a Glance
The Google Shopping Product Feed: All Mandatory Attributes at a GlanceThe Google Shopping Product Feed: All Mandatory Attributes at a Glance
The Google Shopping Product Feed: All Mandatory Attributes at a GlanceWhoop!
 
What's new in reporting
What's new in reporting What's new in reporting
What's new in reporting supergigas
 
Product Feed Optimizations For a Cross Channel Strategy
Product Feed Optimizations For a Cross Channel StrategyProduct Feed Optimizations For a Cross Channel Strategy
Product Feed Optimizations For a Cross Channel StrategyTinuiti
 
07. feeds update
07. feeds update07. feeds update
07. feeds updatemarcwan
 
B2C-Commerce-Developer Dumps
B2C-Commerce-Developer DumpsB2C-Commerce-Developer Dumps
B2C-Commerce-Developer Dumpsaddisonkalven
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks marcwan
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple timesŽeljko Plesac
 
Drupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewDrupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewPedro Cambra
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Mahmoud Hamed Mahmoud
 
Benefits of Google Tag Manager
Benefits of Google Tag ManagerBenefits of Google Tag Manager
Benefits of Google Tag ManagerPhil Pearce
 
Deliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceDeliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceSAP Customer Experience
 

Similar a Shopping Campaigns (20)

EVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
EVOLVE'13 | Enhance | Ecommerce Framework | Paolo MottadelliEVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
EVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-framework
 
E-Bazaar
E-BazaarE-Bazaar
E-Bazaar
 
Learn Adobe analytics basics - Conversion variables
Learn Adobe analytics basics - Conversion variablesLearn Adobe analytics basics - Conversion variables
Learn Adobe analytics basics - Conversion variables
 
Bit2win 20r2.1 releasepack
Bit2win 20r2.1 releasepackBit2win 20r2.1 releasepack
Bit2win 20r2.1 releasepack
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 
Decoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless CommerceDecoupled Days 2019: Delivering Headless Commerce
Decoupled Days 2019: Delivering Headless Commerce
 
The Google Shopping Product Feed: All Mandatory Attributes at a Glance
The Google Shopping Product Feed: All Mandatory Attributes at a GlanceThe Google Shopping Product Feed: All Mandatory Attributes at a Glance
The Google Shopping Product Feed: All Mandatory Attributes at a Glance
 
What's new in reporting
What's new in reporting What's new in reporting
What's new in reporting
 
Product Feed Optimizations For a Cross Channel Strategy
Product Feed Optimizations For a Cross Channel StrategyProduct Feed Optimizations For a Cross Channel Strategy
Product Feed Optimizations For a Cross Channel Strategy
 
07. feeds update
07. feeds update07. feeds update
07. feeds update
 
Upgraded URLs
Upgraded URLsUpgraded URLs
Upgraded URLs
 
B2C-Commerce-Developer Dumps
B2C-Commerce-Developer DumpsB2C-Commerce-Developer Dumps
B2C-Commerce-Developer Dumps
 
Reporting tips & tricks
Reporting tips & tricks  Reporting tips & tricks
Reporting tips & tricks
 
Write once, ship multiple times
Write once, ship multiple timesWrite once, ship multiple times
Write once, ship multiple times
 
BigCommerce Akeneo Connector
BigCommerce Akeneo ConnectorBigCommerce Akeneo Connector
BigCommerce Akeneo Connector
 
Drupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewDrupal Commerce contributed modules overview
Drupal Commerce contributed modules overview
 
Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development Windows Store app using XAML and C#: Enterprise Product Development
Windows Store app using XAML and C#: Enterprise Product Development
 
Benefits of Google Tag Manager
Benefits of Google Tag ManagerBenefits of Google Tag Manager
Benefits of Google Tag Manager
 
Deliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce ExperienceDeliver the Perfect Omnichannel Commerce Experience
Deliver the Perfect Omnichannel Commerce Experience
 

Más de supergigas

Remarketing using customer match
Remarketing using customer matchRemarketing using customer match
Remarketing using customer matchsupergigas
 
Location aware ad customizers
Location aware ad customizersLocation aware ad customizers
Location aware ad customizerssupergigas
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)supergigas
 
Uploading HTML5 ads
Uploading HTML5 adsUploading HTML5 ads
Uploading HTML5 adssupergigas
 
BatchJobService
BatchJobServiceBatchJobService
BatchJobServicesupergigas
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words apisupergigas
 
How to build a platform
How to build a platformHow to build a platform
How to build a platformsupergigas
 
The AdWords api and mobile
The AdWords api and mobileThe AdWords api and mobile
The AdWords api and mobilesupergigas
 
MCC Scripts update
MCC Scripts updateMCC Scripts update
MCC Scripts updatesupergigas
 
Rate limits and Performance
Rate limits and PerformanceRate limits and Performance
Rate limits and Performancesupergigas
 
How AdWords UI maps into adwords api
How AdWords UI maps into adwords apiHow AdWords UI maps into adwords api
How AdWords UI maps into adwords apisupergigas
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Servicessupergigas
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reportingsupergigas
 
Display Network criteria bidding
Display Network criteria biddingDisplay Network criteria bidding
Display Network criteria biddingsupergigas
 
Dev Token tips
Dev Token tipsDev Token tips
Dev Token tipssupergigas
 
Ad Customizers
Ad CustomizersAd Customizers
Ad Customizerssupergigas
 

Más de supergigas (16)

Remarketing using customer match
Remarketing using customer matchRemarketing using customer match
Remarketing using customer match
 
Location aware ad customizers
Location aware ad customizersLocation aware ad customizers
Location aware ad customizers
 
GMB API (Google My Business)
GMB API (Google My Business)GMB API (Google My Business)
GMB API (Google My Business)
 
Uploading HTML5 ads
Uploading HTML5 adsUploading HTML5 ads
Uploading HTML5 ads
 
BatchJobService
BatchJobServiceBatchJobService
BatchJobService
 
Why use ad words api
Why use ad words apiWhy use ad words api
Why use ad words api
 
How to build a platform
How to build a platformHow to build a platform
How to build a platform
 
The AdWords api and mobile
The AdWords api and mobileThe AdWords api and mobile
The AdWords api and mobile
 
MCC Scripts update
MCC Scripts updateMCC Scripts update
MCC Scripts update
 
Rate limits and Performance
Rate limits and PerformanceRate limits and Performance
Rate limits and Performance
 
How AdWords UI maps into adwords api
How AdWords UI maps into adwords apiHow AdWords UI maps into adwords api
How AdWords UI maps into adwords api
 
Extension Setting Services
Extension Setting ServicesExtension Setting Services
Extension Setting Services
 
Effective Reporting
Effective ReportingEffective Reporting
Effective Reporting
 
Display Network criteria bidding
Display Network criteria biddingDisplay Network criteria bidding
Display Network criteria bidding
 
Dev Token tips
Dev Token tipsDev Token tips
Dev Token tips
 
Ad Customizers
Ad CustomizersAd Customizers
Ad Customizers
 

Último

WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPTiSEO AI
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceSamy Fodil
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 

Último (20)

WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024Enterprise Knowledge Graphs - Data Summit 2024
Enterprise Knowledge Graphs - Data Summit 2024
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 

Shopping Campaigns

  • 2. Agenda ● Google Shopping & Merchant Center ● Content API for Shopping ● AdWords Shopping Campaigns ● Product Partition Trees ● Local Inventory Ads ● Product Partition Utility
  • 5. Merchant Center ● View products, but not edit ● Manage account and subaccounts ● Data quality and disapproval information ● Link to AdWords accounts ● Tax and delivery settings
  • 6. Multi-client Accounts ● Analogous to AdWords MCCs ● Allows merchants to manage many sub- accounts
  • 7. Data Feeds ● CSV, XML, Google Sheets with product data ● Fetched manually or on a schedule
  • 9. Content API ● Manage products, data feeds, users, accounts ● Can make updates throughout the day ● Instant feedback on some data issues
  • 11. Content API for Shopping https://developers.google.com/shopping-content/
  • 14. Shopping Campaigns ● Connects a linked Merchant Center to AdWords campaign ● Enables Product Listing Ads (PLAs) ● Manages bids based on product hierarchy
  • 15. Shopping Campaigns Differences ● 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 ○ Optional priority ● Must have a valid ProductPartition tree
  • 16. 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});
  • 18. Product Partitions Inventory is partitioned by various Product Dimensions
  • 19. Product Dimensions Make bidding decisions based on product data ● Category ● Brand ● Item ID ● Condition ● Product type ● Custom labels ● Product channel v201502 ● Product channel exclusivity v201502
  • 20. Product Dimensions Category ProductBiddingCategory Brand ProductBrand Item ID ProductOfferId Condition ProductCanonicalCondition Product type ProductType Custom labels ProductCustomAttribute Channel ProductChannel Channel exclusivity ProductChannelExclusivity
  • 24. ProductPartition root = new ProductPartition(); root.setPartitionType(ProductPartitionType.SUBDIVISION); root.setId(-1); Product Partitions Root is a subdivision. It has no value and no parent.
  • 25. ProductBiddingCategory toysDimension = ... ProductPartition toys = new ProductPartition(); toys.setPartitionType(ProductPartitionType.UNIT); toys.setParentCriterionId(root.getId()); toys.setCaseValue(toysDimension); Product Partitions The Toys category is a unit. It has root as it’s parent.
  • 26. ProductBrand otherBrand = new ProductBrand(); ProductBiddingCategory otherCat = new ProductBiddingCategory(); otherCat.setType(ProductDimensionType.BIDDING_CATEGORY_L1); Product Partitions To create an Other node, use a dimension with no value
  • 27. BiddableAdGroupCriterion toysCriterion = new ... toysCriterion.setAdGroupId(...); toysCriterion.setCriterion = toys; toysCriterion.setBiddingStrategyConfiguration(...); AdGroupCriterionOperation operation = new ... operation.setOperand(toysCriterion); operation.setOperation(Operator.ADD); adGroupCriterionService.mutate(...); Product Partitions Create the tree
  • 29. Local Inventory Ads Easily make in-store products available in shopping campaigns
  • 30. New LIA Controls in v201502 1. Enable local inventory ads 2. Campaign-level filters for Channel & ChannelExclusivity 3. Product tree dimensions for Channel & ChannelExclusivity
  • 31. Enable Local Inventory Ads ● Opt-in campaigns to serve local information
  • 32. Enable Local Inv. Ads Example 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); shoppingSetting.setEnableLocal(true); c.setSettings(new Setting[] {shoppingSetting});
  • 33. Campaign-level Filters ● Use inventory filters to include / exclude products based on channel dimensions
  • 34. Campaign-level Filters Example ProductScope scope = new ProductScope(); ProductChannel channel = new ProductChannel(); channel.setValue(“ONLINE”); ProductChannelExclusivity channelEx = new ProductChannelExclusivity(); channelEx.setValue(“SINGLE_CHANNEL”); scope.setDimensions(new ProductDimension[]{ channel, channelEx});
  • 35. Product Tree Dimensions ● Segment product tree by Channel & ChannelExclusivity
  • 36. Product Tree Dimensions Example ProductPartition node1 = new ProductPartition(); node1.setPartitionType(ProductPartitionType.UNIT); node1.setCaseValue(new ProductChannel(null, "ONLINE")); node1.setParentCriterionId(root.getId()); ProductPartition node2 = new ProductPartition(); node2.setPartitionType(ProductPartitionType.UNIT); node2.setCaseValue(new ProductChannel(null, "LOCAL")); node2.setParentCriterionId(root.getId());
  • 38. Product Partition Utility ● Client-side extension that simplifies creating, mutating, and removing ProductPartitions ● Added in v201409 ● Java client library only
  • 39. Product Partition Utility ● ProductPartitionTree API ○ Abstracts tree handling ● ProductPartitionNode API ○ Abstracts nodes & properties (bids, dimensions, etc.)
  • 40. Sample Use Cases ● Rebuild entire trees ● Convert SUBDIVISION <-> UNIT ● Update bids
  • 41. Creating a ProductPartitionTree ProductPartitionTree tree = ProductPartitionTree. .createAdGroupTree(adWordsServices, adWordsSession, adGroupId); ProductPartitionNode rootNode = tree.getRoot(); ... Construct a ProductPartitionTree using the static createAdGroupTree method. Get the root ProductPartitionNode from the new tree.
  • 42. Updating a Bid Example tree.getRoot() .getChild(ProductDimensions .createType(ProductDimensionType.PRODUCT_TYPE_L1, "clothing")) .asBiddableUnit() .setBid(bid); List<AdGroupCriterionOperation> operations = tree.getMutateOperations();
  • 43. Convert UNIT to SUBDIVISION
  • 44. Convert UNIT to SUBDIVISION - Cont. ProductPartitionNode shoes = tree.getRoot() .getChild(createType(ProductDimensionType.PRODUCT_TYPE_L1, "shoes")) .asSubdivision(); shoes.addChild(createCanonicalCondition( ProductCanonicalConditionCondition.NEW)) .asBiddableUnit().setBid(1000000L); shoes.addChild(createCanonicalCondition( ProductCanonicalConditionCondition.REFURBISHED)) .asBiddableUnit().setBid(1500000L); shoes.addChild(createCanonicalCondition(null)).asExcludedUnit(); List<AdGroupCriterionOperation> operations = tree.getMutateOperations();
  • 45. Rebuilding a Tree List<AdGroupCriterionOperation> operations = tree.getMutateOperations(); tree.getRoot() .asBiddableUnit() .setBid(bid); tree.getRoot() .removeAllChildren() .asSubdivision() tree.getRoot() .addChild(...); ...
  • 46. Send Us Feedback! We're looking for feedback on this utility. If you use it, we want to hear from you! Check out the guide on github: http://goo.gl/UmN17E
  • 47. Resources ● Shopping Campaigns Guide https://developers.google.com/adwords/api/docs/guides/shopping ● Product Partition Utility Example https://github.com/googleads/googleads-java-lib (see AddProductPartitionTree.java)