Creative Consolidation
The Creative Library does not keep 2 identical creatives in the same account. Whenever a request would produce a creative that is identical to one already in the library, the two are consolidated into the existing creative.
Consolidation applies to every request that creates or changes creative content:
- Create a creative and Bulk create creatives
- Update a creative and Bulk upsert creatives
- Editing the content of a single ad created from a creative
What makes 2 creatives identical
2 creatives are identical when they have the same content and the same landing page.
- Content: the creative's content fields, such as the image or video,
title,description,cta,logoand display asset. - Landing page: the creative's
url, after Taboola resolves common tracking and redirect URLs. Apart from that, URLs that differ, including in their query parameters (for example UTM tags), are different landing pages, so the creatives are not consolidated.
These fields are not part of a creative's identity, and do not prevent consolidation:
nameandcustom_idverification_pixel,viewability_tag,start_date,end_dateandactivity_schedule
On create
If the new creative is identical to an existing creative, no new creative is created. The existing creative is returned, with a creative_consolidation object:
{
"id": 4321000007,
"status": "ACTIVE",
"title": "Summer sale: up to 50% off",
"creative_consolidation": {
"source_creative_id": null,
"matched_creative_id": 4321000007,
"reassigned_ad_ids": []
},
...
}The same applies to each creative in a bulk create or bulk upsert request, including creatives that are identical to each other within the same request: they result in a single creative.
On update
If an update makes the creative identical to another existing creative, the updated creative is merged into the existing one:
- The updated creative's ads are moved to the existing creative.
- The updated creative is stopped.
- The response returns the existing creative, so the
idin the response differs from theidin the request path.
{
"id": 4321000007,
"status": "ACTIVE",
"title": "Summer sale: up to 60% off",
"creative_consolidation": {
"source_creative_id": 4321000001,
"matched_creative_id": 4321000007,
"reassigned_ad_ids": [
8765000101,
8765000270
]
},
...
}The moved ads keep their IDs and keep running in their campaigns. From now on, they follow the existing creative.
On ad edit
Changing the content of a single ad through Update a campaign item follows the same rules:
- The creative backs other ads too: the ad is detached from its creative. If the edited content is identical to an existing creative, the ad is attached to that creative. Otherwise, a new creative is created for it.
- The ad is the creative's only ad: the creative itself is updated. If the edit makes it identical to an existing creative, it is merged into that creative, and the ad moves to it.
See Change a single ad.
The creative_consolidation object
creative_consolidation is read-only. It is returned only when the request was consolidated into an existing creative, and is null otherwise.
| Field | Type | Description |
|---|---|---|
source_creative_id | Number | The creative that the request updated and that was then merged. null on create. |
matched_creative_id | Number | The existing creative the request was consolidated into. This is the creative returned in the response. |
reassigned_ad_ids | Array of numbers | The ads that were moved from the source creative to the matched creative. Empty on create. |
Always read the creative ID from the responseBecause of consolidation, the creative returned by a create or update request may not be the one you created or updated. Integrations that store creative IDs should read
idfrom every create and update response, rather than assume it is new or unchanged.
See also
Updated about 8 hours ago
