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:

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, logo and 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:

  • name and custom_id
  • verification_pixel, viewability_tag, start_date, end_date and activity_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:

  1. The updated creative's ads are moved to the existing creative.
  2. The updated creative is stopped.
  3. The response returns the existing creative, so the id in the response differs from the id in 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.

FieldTypeDescription
source_creative_idNumberThe creative that the request updated and that was then merged. null on create.
matched_creative_idNumberThe existing creative the request was consolidated into. This is the creative returned in the response.
reassigned_ad_idsArray of numbersThe ads that were moved from the source creative to the matched creative. Empty on create.
🚧

Always read the creative ID from the response

Because 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 id from every create and update response, rather than assume it is new or unchanged.

📘

See also


Did this page help you?