This article goes through automating ad sets in Snapchat based on a feed. Campaign automation and ad automation has their own articles, which follow similar steps.
Alongside with this information, see the basic steps for creating campaigns, and make sure you have set up your automation feeds:
Step 1: Set up automation
To enable automation for an ad:
- In the Automation section of the ad set settings, enable automation with the toggle.
- In Data source, select the automation feed that provides the feed data.
The campaign is now a 'template' that automation uses to create campaigns when you publish. Check the bottom of the Automation section: it shows how many ads automation will create for you.
Step 2: Limit how automation uses items from feed
You may want to control what feed data the automation uses so that you get the exact ads you want. By default, each row in the feed leads to its own ad set. You can filter the list down and group rows to produce fewer ads.
Use the additional automation settings in the Automation section for this:
-
In Filters, define a filter to limit which feed items are included in automation.
-
To add a condition:
- Click Add new condition.
- Select the feed field that the condition checks.
- Select the operation used to check the data.
- Enter the condition's value that is checked against the feed's value.
- You can also group conditions. To add a group, click Add new group.
- If you use multiple conditions or groups, define how the conditions are checked:
- All: All the conditions must match.
- Any: It's enough if one of the conditions matches.
-
To add a condition:
- In Group by feed field, group feed items to limit how automation uses items to create ads. Select the feed fields that you want to group together.
- In Limit, limit how many ads are created based on the feed. For example, if you set the limit to 5, ads are created for the first five matching rows from the feed, and the rest of the rows are discarded.
- In Sort, sort feed items for automation based a specific feed field: select a feed field and the sorting direction.
From the bottom of the panel, you can open the feed preview. It helps you inspect what kind of data is in your feed and view the results of your filters on the data.
Targeting ad sets to campaigns
With automated campaigns and ad sets, by default, every ad set will be placed within every campaign. This is often something that you don't want. For example if you on campaign level group by countries and ad set level by cities, then you want to only create ad sets to a campaign that are within the country of the campaign. Assuming that you use same feed on campaign level and ad set level, and each row has both country and city information, you'd want to first group campaigns by country and ad sets per city. Additionally you want to add a filter that checks that the ad set country and the campaign country matches. You can do it by manually adding a filter which checks both the country from both the ad set feed and the campaign feed. On ad set level, add a filter and set "country is {{campaign.feed.country}}. this ensures that ad sets are created into the correct campaigns.
Here you can see an example of it. You can review the final campaigns and ad sets when you go to the review page, before publishing.
Additionally you can use naming macros to add campaign specific information into you ad set. Here, for the name, we take campaign name and add "- {{feed.City}} to it. The final name could be for example "Sales campaign - Norway - Oslo".
Step 3: Use feed data in input fields
Use data from the feed to automate the individual field inputs in the ad set settings.
Automating ad set fields
The fields that you can automate are:
- Status
- Ad set name
- Location with postal code targeting
- Budget
- Budget type
- Ad set start date
- Ad set end date
- Bid strategy
- Bid amount
Automation to more fields will be added soon.
In general, in text inputs, you refer to a feed field using the double curly braces notation: {{feed.fieldname}}. For example, {{feed.id}} pulls the field ID from the feed.
To refer to a feed field in an ad setting:
- Click next to the field to enable using feed data.
- Either click and select a feed field, or enter the reference to the feed field manually. Include the prefix feed anda full stop before the feed field's name.
You can also combine static text with data you have gotten from the feed.
In this example, the objective is shared for all the campaigns, while daily spend cap, start date and end date for the campaigns comes from the feed. Lifetime spend cap is not set.
Naming macros
On top of the feed values, you can also use naming macros with curly braces. Naming macros means taking a value from one field and putting it into another field, like for example adding the campaign name or objective into the ad set name.
On ad set level, you can use campaign macros and ad set macros. Here are the macros that you can use on ad set level:
{{campaign.name}}
{{campaign.objective}}
{{adSet.name}}
{{adSet.optimizationGoal}}
Limitations
Snapchat Automated Ads currently has the following limitations:
- For Reach & Frequency campaigns, you can only automate on the ad level. The campaign and ad sets must be created in the Ads Manager, as we don’t support creation of R&F campaigns
- Due to Snap limitations, when the details of an ad are changed via the feed, the old ad is archived and a new ad is created.
- For ad set level automation, you can only automate Location using zipcode/postal code. If you would like to automate Location using metro or region, you need to manually export the Snap-specific IDs from the Ads Manager to use in your feed.
Deleted assets and reporting
Smartly sends a delete event to Snapchat when an automated campaign, ad set or ad (which we'll call assets from here on) is not not needed anymore. Not needing an existing asset can happen, for example, when you remove a row from the feed, adjust filters so that an old asset is not included anymore, or change the id of the asset.
Assets will also be recreated when you modify a value that is not allowed to be modified, for example changing the media of an existing ad. In those cases, the old asset will be deleted, and a new one with the new options will be created in its place.
In Snapchat Ads Manager, when an asset is deleted, it will no longer be visible in the list of campaigns, ad sets and ads. The metrics for the ad will however be included in the parent object, so for example the spend, impressions and conversions from a deleted ad will still be visible in the ad sets metrics. Smartly reporting does not hide deleted objects, which allows you to see the full breakdown for also deleted campaigns, ad sets and ads.
Updating ads
Snapchat has rules in place on which fields in an ad can be updated, and which can not. If the changes done affects the creative that the end user sees in any way, then updating the values is not allowed. It makes sense, because anything visual will affect performance, so it is best to not muddy the performance numbers by changing performance-affecting. Instead you should create a new ad, so that you can compare how the changes affected performance. Fields that you are not allowed to update are for example image or video, headline, public profile, destination, CTA, or creative name. Fields that are not visible and thus allowed to be edited are status, ad name, and 3rd party tracking tags.
When you update an ad, Smartly will primarily try to edit the existing one in-place. If an edit is not possible, due to the fields are not allowed to be updated, then the ad will be recreated. Recreation means that the existing ad will be deleted and a new one is create in it's place. Deleted ads will still be visible in Smartly reporting, with a trash bin icon for status. Snapchat Ads Manager will hide deleted ads. A deleted ad's performance metrics will still be counted towards the ad sets performance metrics, both in Smartly and in Snapchat Ads Manager. E.g. a deleted ads impressions are part of the ad set's total impressions.
Note that, especially with automation, changing one field might affect another field. This might force a change that should be possible to do with and edit to recreate an ad. For example, changing ad name is allowed as an edit. However, if ad name is used in creative name, either by taking the creative name with a macro from ad name or directly from the feed name column, then changing the ad name will also change the creative name. Changing the creative name is not allowed, so in this case the ad name and creative name change would be processed as a recreation of the ad. You can set the creative name to something that does not change, to avoid ad name changes causing recreates. If you leave creative name as blank, then the ad name will be used as creative name upon creation of the ad, but the creative name will not be updated if you edit the ad name.