Google Ads

Structured Snippets  |  AdWords API  |  Google Developers

Structured snippets
allow your ads to highlight specific aspects of your products and services. These
ad extensions provide
context on the nature and variety of your products and services before visitors
click through to your site.

Each snippet contains a header and list of features you would like to highlight.
Up to two headers at a time can show on your ad. We will algorithmically decide the
best header combinations to show, so we recommend adding as many headers relevant
to your business as possible.

Below is an example of what an ad using snippets might look like. The snippet
is outlined with a red rectangle: a “Styles” header with four values
(Chukka, Combat, Cowboy, Chelsea).

Header

The header defines the category for your snippet. Your text must match one
of the categories in
this list
exactly (for translations, see
Structured Snippet Header Translations).
A few examples of headers include: Amenities, Brands, Destinations, Models, and Styles.

Values

The values are a list of featured products/services you would like to highlight.
There are a few things to keep in mind:

  • You’ll need a minimum of 3 values.
  • Each snippet value has a 25 character limit.
  • For mobile, it’s best to limit snippet text to less than 12 characters.
  • The snippet values must adhere to our
    policy and
    be family safe.

Adding structured snippets to your ads

Structured snippets can be added at the
customer,
campaign or
ad group level
using the extension setting services.

Similar to other ad extensions, you create a feed item and add it to the relevant
extension setting. The following code snippet shows how to
create a new

StructuredSnippetFeedItem
and associate it with a campaign.

package adwords.axis.v201809.extensions;

import com.google.api.ads.adwords.axis.factory.AdWordsServices;
import com.google.api.ads.adwords.axis.v201809.cm.ApiException;
import com.google.api.ads.adwords.axis.v201809.cm.CampaignExtensionSetting;
import com.google.api.ads.adwords.axis.v201809.cm.CampaignExtensionSettingOperation;
import com.google.api.ads.adwords.axis.v201809.cm.CampaignExtensionSettingReturnValue;
import com.google.api.ads.adwords.axis.v201809.cm.CampaignExtensionSettingServiceInterface;
import com.google.api.ads.adwords.axis.v201809.cm.ExtensionFeedItem;
import com.google.api.ads.adwords.axis.v201809.cm.ExtensionSetting;
import com.google.api.ads.adwords.axis.v201809.cm.FeedType;
import com.google.api.ads.adwords.axis.v201809.cm.Operator;
import com.google.api.ads.adwords.axis.v201809.cm.StructuredSnippetFeedItem;
import com.google.api.ads.adwords.lib.client.AdWordsSession;
import com.google.api.ads.adwords.lib.factory.AdWordsServicesInterface;
import com.google.api.ads.common.lib.auth.OfflineCredentials;
import com.google.api.ads.common.lib.auth.OfflineCredentials.Api;
import com.google.api.client.auth.oauth2.Credential;
import java.rmi.RemoteException;

/**
 * This example adds structured snippets to a campaign. To create a campaign,
 * run {@code AddCampaigns}.
 *
 * 

Credentials and properties in {@code fromFile()} are pulled from the * "ads.properties" file. See README for more info. */ public class AddStructuredSnippets { public static void main(String[] args) throws Exception { // Generate a refreshable OAuth2 credential. Credential oAuth2Credential = new OfflineCredentials.Builder() .forApi(Api.ADWORDS) .fromFile() .build() .generateCredential(); // Construct an AdWordsSession. AdWordsSession session = new AdWordsSession.Builder() .fromFile() .withOAuth2Credential(oAuth2Credential) .build(); AdWordsServicesInterface adWordsServices = AdWordsServices.getInstance(); Long campaignId = Long.valueOf("INSERT_CAMPAIGN_ID"); runExample(adWordsServices, session, campaignId); } public static void runExample(AdWordsServicesInterface adWordsServices, AdWordsSession session, Long campaignId) throws ApiException, RemoteException { StructuredSnippetFeedItem amenitiesStructuredSnippetFeedItem = createStructuredSnippetsFeedItem( "Amenities", new String[] {"Free Wi-Fi", "Breakfast", "Swimming Pool", "Fitness Center", "Restaurant"}); StructuredSnippetFeedItem destinationsStructuredSnippetFeedItem = createStructuredSnippetsFeedItem( "Destinations", new String[] {"Paris", "London", "Berlin"}); // Get the CampaignExtensionSettingService. CampaignExtensionSettingServiceInterface campaignExtensionSettingService = adWordsServices.get(session, CampaignExtensionSettingServiceInterface.class); CampaignExtensionSetting campaignExtensionSetting = new CampaignExtensionSetting(); campaignExtensionSetting.setExtensionType(FeedType.STRUCTURED_SNIPPET); ExtensionSetting extensionSetting = new ExtensionSetting(); extensionSetting.setExtensions( new ExtensionFeedItem[] {amenitiesStructuredSnippetFeedItem, destinationsStructuredSnippetFeedItem}); campaignExtensionSetting.setExtensionSetting(extensionSetting); CampaignExtensionSettingOperation operation = new CampaignExtensionSettingOperation(); operation.setOperand(campaignExtensionSetting); operation.setOperator(Operator.ADD); // Create your campaign extension settings. This associates the structured snippet // with your campaign. campaignExtensionSetting.setCampaignId(campaignId); // Add the extensions. CampaignExtensionSettingReturnValue returnValue = campaignExtensionSettingService.mutate(new CampaignExtensionSettingOperation[] {operation}); if (returnValue.getValue() != null && returnValue.getValue().length > 0) { CampaignExtensionSetting newExtensionSetting = returnValue.getValue(0); System.out.printf("Extension setting with type %s was added to campaign ID %d.%n", newExtensionSetting.getExtensionType(), newExtensionSetting.getCampaignId()); } else { System.out.println("No extension settings were created."); } } private static StructuredSnippetFeedItem createStructuredSnippetsFeedItem(String header, String[] values){ StructuredSnippetFeedItem structuredSnippetFeedItem = new StructuredSnippetFeedItem(); structuredSnippetFeedItem.setHeader(header); structuredSnippetFeedItem.setValues(values); return structuredSnippetFeedItem; } }

Structured snippets reports

The Placeholder Feed
Item Report
shows performance for feed items and can be used to report statistics
for each structured snippet. Additionally, the
Placeholder Report
shows performance for feed-based ad extensions and can be used to report statistics for
all structured snippets. Filter on

ExtensionPlaceHolderType
where the
placeholder type ID is 24 to get
only structured snippet ad extensions.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button
Close