Since automated catalogs are very flexible and you can feed them with any kind of data, there is a lot of space to have unexpected or broken results once that you actually want to use them to set up an automated campaign.
To prevent any surprises, frustration or budget waste, here is a thorough guide on the limitations to which you should comply.
You should make sure 2 different things are correctly defined in the catalog:
Semantics - prepare for the campaign structure
The format of the data
1. Semantics - what kind of campaign structure will you try to create with this catalog?
Check if your feed makes sense. Old campaigns worked with ambiguous feeds, but the new ones will require a tidy feed.
To remind you, the catalog that is used for automated campaigns is not the same as product catalog. Automated catalog is basically a list of ads, so one row equals one ad. It may be related to a product, but it can also be related to a location, specific audience, language, etc.
To make sure your structure is good, you have to take care of:
Filters
Columns that generate ad set
1.1 Filters
If you want to work with a distinct group of ads at different moments, you will need to create a filter on the catalog that will define the group that you want to work with. This group is dynamic (as it can be defined by a rule), so items that belong to the filter can change in time.
Once you created a filter, you will be able to use it on ad set or ad level.
Read more about filters on automated catalogs here.
1.2 Columns that generate ad sets
The most important thing that you have to decide right at the beginning (and will not be able to change it after publish) is which feed columns are defining your ad sets.
How to do this?
As you know, an ad set is defined by budget and by audience. Look at your feed (your list of ads) and try to define clear groups that share the same combination of budget and audience (CA, location, etc.)
The columns that define these groups will define your automated ad set.
What is the best way to define columns that will generate ad sets?
When you define the campaign structure, you will need to think about what happens with:
a. Budget
b. Audience
a. Budget
First, think about the budget. Do you have groups of ads from the feed with dedicated budgets? I you do, there should be a column which holds a value that tells exactly to which of those groups the ad belongs.
For example, if you have dedicated budgets for two different age groups, make sure that you have those two age groups defined in a separate column in the feed for each ad. This way, for each ad you will know if it belongs to group 1 or group 2.
If we look at the images here, we can see that the age groups are saved in the "age" column in the feed. When we create a campaign, we will select this column in the "Create new ad set for each" dropdown, which will automatically create ad sets.
This column has values "25-55" and "30-60", so we will generate 2 ad sets based on this.
b. Audience
Once you are sure about your budget groups, think about other aspects that are grouping your ads in different ad sets.
Are you preparing different ads for different locations, demographics, CA?
If these are not unique for all of the ads in the feed, this means that there is further grouping.
For the example from above, this differentiator might be a location. Maybe you have two age groups, but you still want to place different ad for different city.
Then, you can define ad set like this:
This means two things:
You have a prepared "location" column in your feed
For each item in the feed that belongs to the same ad set (for example "25-55_Belgrade,Serbia") all other budget or audience values MUST be the same, otherwise this ad sets becomes ambiguous.
What does it mean that the ad set becomes ambiguous? It means that you have ads that belong to the same ad set, but somehow have different ad set parameters like language, or age, or budget.
2. The format of the data
ID
The only column that an automated feed must have is an ID column. It should comply to a couple of rules:
ID must be unique for each item
ID can use any kind of characters except ;
Dates
Any kind of dates (with or without times) must be entered in the following format:
YYYY-MM-DDT00:00
Status
Must have one of the two values:
ACTIVE
PAUSED
Not case-sensitive.
Age
Age is defined as a scope from start age to end age.
End age must not be greater than 65
Start age must not be lower than 13
If you set up end age as 65, then the actual value will be 65+
Do NOT put "+" in this value
Good values for age
14-25, 18-65, 30-50
Invalid values for age:
12-25 (low start age)
18-65+ (the "+" character will not pass)
45-80 (high end age)
Custom Audience
Custom audience name should be exactly the same as you defined it, otherwise it will not be selected.
Detailed Targeting
These two values are both dependant on how they are defined on Meta. Everything that is mentioned in this segment goes for both of them.
Please, make sure that you are aware of the full name (with brackets if there are any) and the type. Check it on Meta before using it in the feed, even if you think you are sure what it looks like.
Now, how does this translate to a feed?
A complete name should be the same.
In case it is not defined as on Meta, Hunch will use it as a search term and select whatever comes first.
If the term in the brackets does not exist, Hunch will do the search without the brackets
Mind you, any kind of fallback is a risky practice and it happens that it leads to unexpected and wrong resolutions that will waste your budget.
The only sure thing is to look it up on Meta, then write the full name as it is.To define a Type (right side on the picture) you should use || to separate it from the name.
Good example of a multi-select for detailed targeting:
Job hunting (careers) || Interests;Career (employment) || Interests
You can also use this value to be more precise with Narrow Audience. Just add "+" at the end, then keep listing the values separated by ";"
How to define a value for detailed targeting with narrow audience values:
Holidays;Hotels;Tourism;Agoda.com;Kayak.com;First class travel;Skyscanner;Expedia (website);VRBO®- Vacation Rentals By Owner®;Hotels.com;Lastminute.com;TripAdvisor;Trivago;First class travel;Travel;International student;Travel website;Fashion and Style;Travel + Leisure;Business class;Frequent international travellers;Frequent travellers;Engaged shoppers
Languages
Languages values are built the same way as Detailed Targeting values, just without the Narrow Audience part.
Locations
There is a separate article about locations in automated ads.
Conclusion
These rules should apply once you create a feed, and from then on you should be good.
In case any problems come up in time, they will probably appear because of new inconsistencies, so the feed is the first thing that you need to check and sync it again.