Smart Shopping Campaigns
Automatically optimize your shopping campaigns to target customers who are more likely to convert at higher revenue values with smart shopping campaigns. By using a combination of traditional shopping campaigns, automated bidding and targeting, smart shopping helps you get the right ad to the right user, at the right time – at scale!
Note
Starting in August, Smart shopping campaigns will deprecate and automatically upgrade to Performance Max campaigns. After the upgrade, you will need to make edits to Performance Max campaigns. There will be no change to campaign performance reports.
Learn more about Performance Max.
If you try to create a new Smart shopping campaign after deprecation, you will receive the error code SmartShoppingCampaignCreationNotSupported. Create a Performance Max campaign instead.
Note
Smart shopping campaigns are only available for pilot customers (GetCustomerPilotFeatures returns 718).
Setting your business goals and targets provides context to automatically adjust bids and shopping ads delivery to help optimize your campaigns. This, in turn, can help increase revenue and meet return on ad spend (ROAS) targets.
Smart shopping campaigns use the Maximize Conversion Value bid strategy (where Microsoft Advertising automatically sets your bids in real time to maximize total conversion value within your budget) and automated targeting to maximize overall revenue numbers with an option to define return on ad spend (ROAS) targets.
Smart shopping campaigns automate bids and ads delivery based on customer signals to help create a more personalized shopping experience.
Note
Smart shopping campaigns do not support negative keywords, website exclusions, IP exclusions, audience targets, or audience exclusions.
UET Tag and Conversion Goal
Create a UET tag and add the tracking script to your website. The additional code needed to track variable revenue data (or fixed revenue > 0) is required for smart shopping campaigns, so be sure to have it created and added to your website before you begin creating your smart shopping campaign.
Note
Universal event tracking is not required if you have an OfflineConversionGoal and upload offline conversions.
Variable revenue tracking is available via EventGoal and UrlGoal, so you'll need to create and leverage at least one of those conversion goals.
For more information see Universal Event Tracking.
Setup Microsoft Merchant Center
First you'll need to set up your own Microsoft Merchant Center store with a product catalog.
In the Microsoft Advertising web application, click Tools > Microsoft Merchant Center. Click on Create store and provide the requested store details. For information about setting up your store catalog, see Create a Microsoft Merchant Center store and How is the feed file organized.
Create a product catalog, and then submit the catalog feed via FTP/SFTP or the Content API. Be sure send updated data at least every 30 days.
You can get your Microsoft Merchant Center store identifier in the Microsoft Advertising web application via Tools > Microsoft Merchant Center. Otherwise you can call the GetBMCStoresByCustomerId operation to get the StoreId.
<GetBMCStoresByCustomerIdResponse xmlns="https://bingads.microsoft.com/CampaignManagement/v13"> <BMCStores xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <BMCStore> <HasCatalog>true</HasCatalog> <Id>StoreIdGoesHere</Id> <IsActive>true</IsActive> <IsProductAdsEnabled>true</IsProductAdsEnabled> <Name>My MMC Store</Name> <SubType i:nil="true"/> </BMCStore> </BMCStores> </GetBMCStoresByCustomerIdResponse>
Create the campaign
You can create a smart shopping campaign with the AddCampaigns operation. You can create a maximum of 100 smart shopping campaigns per ad account.
The CampaignType must be set to Shopping.
The SubType must be set to ShoppingSmartAds. If the sub type is not set, the campaign is created according to the campaign type.
The BiddingScheme must be either null or set to MaxConversionValueBiddingScheme with optional TargetRoas or MaxConversionsBiddingScheme with optional TargetCpa. Smart shopping campaigns use the Maximize Conversion Value bid strategy (where Microsoft Advertising automatically sets your bids in real time to maximize total conversion value within your budget) and automated targeting to maximize overall revenue numbers with an option to define return on ad spend (ROAS) targets.
You must set the DailyBudget. Shared budget is not supported with smart shopping campaigns.
You must include a ShoppingSetting in the list of campaign Settings. You must set the Priority to 3; Set the StoreId to one of your Microsoft Merchant Center store identifiers.
Here's an example AddCampaigns SOAP request with smart shopping campaign settings.
<AddCampaignsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AccountId>AdAccountIdGoesHere</AccountId>
<Campaigns xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Campaign>
<BiddingScheme i:type="MaxConversionValueBiddingScheme">
<TargetRoas>2</TargetRoas>
</BiddingScheme>
<BudgetType>DailyBudgetStandard</BudgetType>
<DailyBudget>50</DailyBudget>
<Name>Women's Shoes</Name>
<SubType>ShoppingSmartAds</SubType>
<TimeZone>PacificTimeUSCanadaTijuana</TimeZone>
<CampaignType>Shopping</CampaignType>
<Settings>
<Setting i:type="ShoppingSetting">
<Priority>3</Priority>
<SalesCountryCode>US</SalesCountryCode>
<StoreId>StoreIdGoesHere</StoreId>
</Setting>
</Settings>
<Languages xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>All</a:string>
</Languages>
</Campaign>
</Campaigns>
</AddCampaignsRequest>
Campaign criteria
To refine the audience by location and ad schedule, smart shopping campaigns support the following campaign level criteria.
- DayTimeCriterion (target) campaign Criterion.
- LocationCriterion (target and exclude)
- LocationIntentCriterion (target)
- RadiusCriterion (target)
For targets you must use the BiddableCampaignCriterion object, although you cannot set any bid adjustment. For target exclusions, use the NegativeCampaignCriterion object.
Note
Smart shopping campaigns do not support any other campaign level criteria e.g., Age, Gender, Device, Product Scope, Profile, or Store criteria. Although with standard Microsoft Shopping campaigns you can filter a subset of your product catalog via the ProductScope criterion, product scope critera are not supported with smart shopping campaigns. You can refine the product catalog with product groups.
Call the AddCampaignCriterions operation to set the campaign level criteria.
<AddCampaignCriterionsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<CampaignCriterions xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<CampaignCriterion i:type="BiddableCampaignCriterion">
<CampaignId>CampaignIdGoesHere</CampaignId>
<Criterion i:type="LocationCriterion">
<Type>LocationCriterion</Type>
<LocationId>190</LocationId>
</Criterion>
<CriterionBid i:nil="true"/>
</CampaignCriterion>
<CampaignCriterion i:type="BiddableCampaignCriterion">
<CampaignId>CampaignIdGoesHere</CampaignId>
<Criterion i:type="DayTimeCriterion">
<Type>DayTimeCriterion</Type>
<Day>Monday</Day>
<FromHour>8</FromHour>
<FromMinute>Zero</FromMinute>
<ToHour>20</ToHour>
<ToMinute>Zero</ToMinute>
</Criterion>
<CriterionBid i:nil="true"/>
</CampaignCriterion>
</CampaignCriterions>
<CriterionType>Targets</CriterionType>
</AddCampaignCriterionsRequest>
Create the ad group
You must create exactly one AdGroup in each smart shopping campaign by calling the AddAdGroups operation.
The following validation rules are unique to smart shopping campaigns, and do not apply to standard Microsoft shopping campaigns:
- The BiddingScheme element must either be null or InheritFromParentBiddingScheme.
- The Network element must be null and will always default to OwnedAndOperatedAndSyndicatedSearch.
<AddAdGroupsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<CampaignId>CampaignIdGoesHere</CampaignId>
<AdGroups xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<AdGroup>
<CpcBid>
<Amount>0.50</Amount>
</CpcBid>
<Name>Women's Red Shoe Sale</Name>
</AdGroup>
</AdGroups>
<ReturnInheritedBidStrategyTypes>false</ReturnInheritedBidStrategyTypes>
</AddAdGroupsRequest>
Apply product groups
Within the ad group, create a list of product groups in a tree structure that will be used to further refine the product catalog offers. Apply the list of AdGroupCriterionAction objects by calling ApplyProductPartitionActions.
For more details about Product Condition (operand) and Product Value (attribute) business rules for product groups, see Product Conditions for Shopping Campaigns.
Note
Smart shopping campaigns do not support any other ad group level criteria e.g., Age, Gender, DayTime, Device, Location, Profile, or Radius criteria.
<ApplyProductPartitionActionsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<CriterionActions xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<AdGroupCriterionAction>
<Action>Add</Action>
<AdGroupCriterion i:type="BiddableAdGroupCriterion">
<AdGroupId>AdGroupIdGoesHere</AdGroupId>
<Criterion i:type="ProductPartition">
<Type i:nil="true"/>
<Condition>
<Attribute i:nil="true"/>
<Operand>All</Operand>
</Condition>
<ParentCriterionId i:nil="true"/>
<PartitionType>Subdivision</PartitionType>
</Criterion>
<Id>-1</Id>
</AdGroupCriterion>
</AdGroupCriterionAction>
<AdGroupCriterionAction>
<Action>Add</Action>
<AdGroupCriterion i:type="BiddableAdGroupCriterion">
<AdGroupId>AdGroupIdGoesHere</AdGroupId>
<Criterion i:type="ProductPartition">
<Type i:nil="true"/>
<Condition>
<Attribute>Animals & Pet Supplies</Attribute>
<Operand>CategoryL1</Operand>
</Condition>
<ParentCriterionId>-1</ParentCriterionId>
<PartitionType>Unit</PartitionType>
</Criterion>
<Id>-2</Id>
<Status i:nil="true"/>
<Type i:nil="true"/>
<CriterionBid i:type="FixedBid">
<Type>FixedBid</Type>
<Amount>0.45</Amount>
</CriterionBid>
</AdGroupCriterion>
</AdGroupCriterionAction>
<AdGroupCriterionAction>
<Action>Add</Action>
<AdGroupCriterion i:type="BiddableAdGroupCriterion">
<AdGroupId>AdGroupIdGoesHere</AdGroupId>
<Criterion i:type="ProductPartition">
<Type i:nil="true"/>
<Condition>
<Attribute i:nil="true"/>
<Operand>CategoryL1</Operand>
</Condition>
<ParentCriterionId>-1</ParentCriterionId>
<PartitionType>Unit</PartitionType>
</Criterion>
<Id>-3</Id>
<Status i:nil="true"/>
<Type i:nil="true"/>
<CriterionBid i:type="FixedBid">
<Type>FixedBid</Type>
<Amount>0.45</Amount>
</CriterionBid>
</AdGroupCriterion>
</AdGroupCriterionAction>
</CriterionActions>
</ApplyProductPartitionActionsRequest>
Create the ads
You must add exactly one ProductAd to the ad group. Product ads are shown to users on the Search network. A product ad is not used directly for delivered ad copy. Instead, Microsoft Advertising generates product ads from the product details that it finds in your Microsoft Merchant Center store's product catalog. The product ad identifier can be used for reporting analytics. Use Merchant Promotions if you want tags to appear at the bottom of your product ad as "special offer" links, helping to increase customer engagement. For more information about product ads see the API technical guide and Microsoft Advertising help article.
Note
The Microsoft Audience network does not yet support responsive ads from smart shopping campaigns. Customers in the feature pilot (GetCustomerPilotFeatures returns 777) will be able to add exactly one ResponsiveAd. Audience ads (responsive ads via API) are shown to users on the Microsoft Audience network. For more information about audience ads (responsive ads via API) see the API technical guide and Microsoft Advertising help article.
You can create both ad types together or separately via the AddAds operation.
<AddAdsRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AdGroupId>AdGroupIdGoesHere</AdGroupId>
<Ads xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Ad i:type="ProductAd">
<PromotionalText i:nil="true"/>
</Ad>
<Ad i:type="ResponsiveAd">
<FinalUrls xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:string>https://www.contoso.com/womenshoesale</a:string>
</FinalUrls>
<BusinessName>Contoso</BusinessName>
<CallToAction>AddToCart</CallToAction>
<Headline>Fast & Easy Setup</Headline>
<Images>
<AssetLink>
<Asset i:type="ImageAsset">
<Id>ImageMediaIdGoesHere</Id>
<Name>My LandscapeImageMedia</Name>
<SubType>LandscapeImageMedia</SubType>
</Asset>
</AssetLink>
</Images>
<LongHeadlineString>Find New Customers & Increase Sales!</LongHeadlineString>
<Text>Find New Customers & Increase Sales! Start Advertising on Contoso Today.</Text>
</Ad>
</Ads>
</AddAdsRequest>
Responsive ads also require at least one image asset. If you don't already have images available, you can upload Image data by calling the AddMedia operation.
<AddMediaRequest xmlns="https://bingads.microsoft.com/CampaignManagement/v13">
<AccountId>AdAccountIdGoesHere</AccountId>
<Media xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Media i:type="Image">
<MediaType>Image191x100</MediaType>
<Type>Image</Type>
<Data>MediaDataGoesHere</Data>
</Media>
</Media>
</AddMediaRequest>