Duplicate a Campaign

Returns a JSON object with the newly created campaign.

You can optionally:

  • Update (override) specific campaign field values.
  • Indicate which campaign sections should be duplicated (default = all).
  • Specify a target account for the new campaign (default = current account).
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Update specific fields

You can optionally pass an object in the request body, indicating fields to update.

Example - Update specific fields

POST /backstage/api/1.0/demo-advertiser/campaigns/123/duplicate
{
   "name": "Demo Campaign - New name",
   "branding_text": "New branding text",
   "spending_limit": 10000,
   "spending_limit_model": "ENTIRE",
   "comment": "Please apply suitable targeting."
}
{
    "id": "123",
    "advertiser_id": "demo-advertiser",
    "name": "Demo Campaign",
    "branding_text": "Branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1.0,
    "daily_cap": 30.0,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 100.0,
    "spending_limit_model": "MONTHLY",
    "cpa_goal": 0.0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": ["PHON", "TBLT"],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": ["site-1", "site-2", "site-3"],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": []
    },
    "publisher_bid_strategy_modifiers": {
        "values": []
    },
    "campaign_profile": null,
    "comments": "",
    "spent": 0,
    "bid_type": "OPTIMIZED_CONVERSIONS",
    "traffic_allocation_mode": "OPTIMIZED",
    "external_brand_safety": {
        "type": "NONE",
        "values": []
    },
    "start_date": "2019-12-03",
    "end_date": "9999-12-31",
    "approval_state": "APPROVED",
    "is_active": false,
    "status": "FROZEN",
    "audience_segments_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/audience_segments"
    },
    "custom_audience_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/custom_audience"
    },
    "marking_label_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/marking_labels"
    },
    "lookalike_audience_targeting": {
        "state": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/lookalike_audience"
    },
    "marketing_objective": "LEADS_GENERATION",
    "activity_schedule": {
        "mode": "ALWAYS",
        "rules": [],
        "time_zone": "US/Eastern"
    },
    "policy_review": {
        "reject_reason": null
    }
}
{
    "id": "124",
    "advertiser_id": "demo-advertiser",
    "name": "Demo Campaign - New name",
    "branding_text": "New branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1.0,
    "daily_cap": 30.0,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 10000.0,
    "spending_limit_model": "ENTIRE",
    "cpa_goal": 0.0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": ["PHON", "TBLT"],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": ["site-1", "site-2", "site-3"],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": []
    },
    "publisher_bid_strategy_modifiers": {
        "values": []
    },
    "campaign_profile": null,
    "comments": "Please apply suitable targeting.",
    "spent": 0.0,
    "bid_type": "OPTIMIZED_CONVERSIONS",
    "traffic_allocation_mode": "OPTIMIZED",
    "external_brand_safety": {
        "type": "NONE",
        "values": []
    },
    "start_date": "2020-01-20",
    "end_date": "9999-12-31",
    "approval_state": "APPROVED",
    "is_active": false,
    "status": "FROZEN",
    "audience_segments_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/audience_segments"
    },
    "custom_audience_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/custom_audience"
    },
    "marking_label_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/marking_labels"
    },
    "lookalike_audience_targeting": {
        "state": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/lookalike_audience"
    },
    "marketing_objective": "LEADS_GENERATION",
    "activity_schedule": {
        "mode": "ALWAYS",
        "rules": [],
        "time_zone": "US/Eastern"
    },
    "policy_review": {
        "reject_reason": null
    }
}
🚧

Tip: If the original campaign reached its end_date, make sure to submit a new end_date when you duplicate it.

Specify which sections should be duplicated

By default, the duplicate endpoint duplicates the entire campaign, and all its items. You can use the (optional) duplicate_settings param to control which campaign sections are included in the duplication.

duplicate_settings

{
    ...
    "duplicate_settings": {
        "include_items": false,
        "include_publisher_bid_modifiers": false,
        "include_blocked_publishers": true,
        "include_third_party_tracking": true
    }
}
{
    ...
    "duplicate_settings": {
        "include_items": false,
        "include_publisher_bid_modifiers": false
    }
}
🚧

If a setting is not present, the default value is true.
Therefor, the above 2 examples are equivalent.

SettingTypePass 'true' (or leave out) to duplicate:
include_itemsBoolean
(default = true)
include_publisher_bid_modifiersBoolean
(default = true)
include_blocked_publishersBoolean
(default = true)
include_third_party_trackingBoolean
(default = true)

Example - Exclude the campaign items and publisher bid modifiers from the duplication

POST /backstage/api/1.0/demo-advertiser-1/campaigns/123/duplicate
{
   "name": "Demo Campaign - New name",
   "branding_text": "New branding text",
   "spending_limit": 10000,
   "spending_limit_model": "ENTIRE",
   "comments": "Please apply suitable targeting.",
   "duplicate_settings": {
      "include_items": false,
      "include_publisher_bid_modifiers": false,
      "include_blocked_publishers": true,
      "include_third_party_tracking": true
   }
}
{
    "id": "123",
    "advertiser_id": "demo-advertiser",
    "name": "Demo Campaign",
    "branding_text": "Branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1,
    "daily_cap": 30,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 100,
    "spending_limit_model": "MONTHLY",
    "cpa_goal": 0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": [
            "PHON",
            "TBLT"
        ],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": [
            "sample-publisher-1",
            "sample-publisher-2",
            "sample-publisher-3"
        ],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": [{
                "target": "sample-publisher-4",
                "cpc_modification": 0.5
            },
            {
                "target": "sample-publisher-5",
                "cpc_modification": 1.5
            }
        ]
    },
    "publisher_bid_strategy_modifiers": {
        "values": [{
            "publisher": "sample-publisher-6",
            "bid_strategy": "FIXED"
        }]
    },
    "campaign_profile": null,
    "comments": "",
    "spent": 0,
    "bid_type": "OPTIMIZED_CONVERSIONS",
    "traffic_allocation_mode": "OPTIMIZED",
    "external_brand_safety": {
        "type": "NONE",
        "values": []
    },
    "start_date": "2019-12-03",
    "end_date": "9999-12-31",
    "approval_state": "APPROVED",
    "is_active": false,
    "status": "FROZEN",
    "audience_segments_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/audience_segments"
    },
    "custom_audience_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/custom_audience"
    },
    "marking_label_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/marking_labels"
    },
    "lookalike_audience_targeting": {
        "state": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/lookalike_audience"
    },
    "marketing_objective": "LEADS_GENERATION",
    "verification_pixel": {
        "verification_pixel_items": [{
                "url": "https://www.example.com/",
                "verification_pixel_type": "CLICK"
            },
            {
                "url": "https://www.example.com/",
                "verification_pixel_type": "VIEWABLE_IMPRESSION"
            },
            {
                "url": "https://www.example.com/",
                "verification_pixel_type": "IMPRESSION"
            }
        ]
    },
    "viewability_tag": {
        "values": [{
                "tag": "<noscript class=...></noscript><script src=...></script>",
                "type": "DOUBLE_VERIFY"
            },
            {
                "tag": "<noscript class=...></noscript><script src=...></script>",
                "type": "IAS"
            }
        ]
    },
    "activity_schedule": {
        "mode": "ALWAYS",
        "rules": [],
        "time_zone": "US/Eastern"
    },
    "policy_review": {
        "reject_reason": null
    },
    "browser_targeting": {
        "type": "INCLUDE",
        "value": [
            "Safari",
            "Android App",
            "Firefox",
            "Opera"
        ],
        "href": null
    }
}
{
    "id": "124",
    "advertiser_id": "demo-advertiser",
    "name": "Demo Campaign",
    "branding_text": "New branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1,
    "daily_cap": 30,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 10000,
    "spending_limit_model": "ENTIRE",
    "cpa_goal": 0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": [
            "PHON",
            "TBLT"
        ],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": [
            "sample-publisher-1",
            "sample-publisher-2",
            "sample-publisher-3"
        ],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": []
    },
    "publisher_bid_strategy_modifiers": {
        "values": []
    },
    "campaign_profile": null,
    "comments": "Please apply suitable targeting.",
    "spent": 0,
    "bid_type": "OPTIMIZED_CONVERSIONS",
    "traffic_allocation_mode": "OPTIMIZED",
    "external_brand_safety": {
        "type": "NONE",
        "values": []
    },
    "start_date": "2019-12-03",
    "end_date": "9999-12-31",
    "approval_state": "PENDING",
    "is_active": false,
    "status": "FROZEN",
    "audience_segments_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/audience_segments"
    },
    "custom_audience_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/custom_audience"
    },
    "marking_label_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/marking_labels"
    },
    "lookalike_audience_targeting": {
        "state": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/lookalike_audience"
    },
    "marketing_objective": "LEADS_GENERATION",
    "verification_pixel": {
        "verification_pixel_items": [{
                "url": "https://www.example.com/",
                "verification_pixel_type": "CLICK"
            },
            {
                "url": "https://www.example.com/",
                "verification_pixel_type": "VIEWABLE_IMPRESSION"
            },
            {
                "url": "https://www.example.com/",
                "verification_pixel_type": "IMPRESSION"
            }
        ]
    },
    "viewability_tag": {
        "values": [{
                "tag": "<noscript class=...></noscript><script src=...></script>",
                "type": "DOUBLE_VERIFY"
            },
            {
                "tag": "<noscript class=...></noscript><script src=...></script>",
                "type": "IAS"
            }
        ]
    },
    "activity_schedule": {
        "mode": "ALWAYS",
        "rules": [],
        "time_zone": "US/Eastern"
    },
    "policy_review": {
        "reject_reason": null
    },
    "browser_targeting": {
        "type": "INCLUDE",
        "value": [
            "Safari",
            "Android App",
            "Firefox",
            "Opera"
        ],
        "href": null
    }
}
🚧

Duplication results

  1. Because include_items was set to false, the new campaign is created with an approval state of "PENDING", and without any items.
  2. Because include_publisher_bid_modifiers was set to false, the bid modifier fields have empty collections.
  3. Blocked publishers and third party tracking fields are duplicated as normal.

Example - Implicit inclusion

In the previous example, we specified the sections to exclude, as well as the sections to include.

If you leave out a setting, that section will be included by default.

The following request objects are equivalent:

{
   "name": "Demo Campaign - New name",
   "branding_text": "New branding text",
   "spending_limit": 10000,
   "spending_limit_model": "ENTIRE",
   "comment": "Please apply suitable targeting.",
   "duplicate_settings": {
      "include_items": false,
      "include_publisher_bid_modifiers": false,
      "include_blocked_publishers": true,
      "include_third_party_tracking": true
   }
}
{
   "name": "Demo Campaign - New name",
   "branding_text": "New branding text",
   "spending_limit": 10000,
   "spending_limit_model": "ENTIRE",
   "comment": "Please apply suitable targeting.",
   "duplicate_settings": {
      "include_items": false,
      "include_publisher_bid_modifiers": false
   }
}

Guidelines

Campaign duplication settings include a number of business rules. These are summarized below.

🚧

Guidelines

  1. To exclude a campaign section, set the relevant property under duplicate_settings to false.
  2. To duplicate a campaign section, set the relevant property under duplicate_settings to true - or leave it out.
  3. To duplicate all campaign sections, leave out the duplicate_settings param altogether (or pass true for all its properties).
  4. Campaign fields that were not included in the duplication will be assigned default values (just like any new campaign) - unless you explicitly assign them a value (see next point).
  5. You can update 1 of more campaign fields directly within the request body. The specified campaign fields will be updated, regardless of whether they were part of the duplication process.

Duplicate a campaign for a different account

You can assign the new campaign to a different account in your network. To do so, use the destination_account query param.

Example - Duplicate for a different account

POST /backstage/api/1.0/demo-advertiser-1/campaigns/123/duplicate?destination_account=demo-advertiser-2
{
   "name": "Demo Campaign - New name",
   "branding_text": "New branding text",
   "spending_limit": 10000,
   "spending_limit_model": "ENTIRE",
   "comment": "Please apply suitable targeting."
}
{
    "id": "123",
    "advertiser_id": "demo-advertiser-1",
    "name": "Demo Campaign",
    "branding_text": "Branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1,
    "daily_cap": 30,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 100,
    "spending_limit_model": "MONTHLY",
    "cpa_goal": 0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": ["PHON", "TBLT"],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": ["publisher-1", "publisher-2", "publisher-3"],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": []
    },
    "publisher_bid_strategy_modifiers": {
        "values": []
    },
    "campaign_profile": null,
    "comments": "",
    "spent": 0,
    "bid_type": "OPTIMIZED_CONVERSIONS",
    "traffic_allocation_mode": "OPTIMIZED",
    "external_brand_safety": {
        "type": "NONE",
        "values": []
    },
    "start_date": "2019-12-03",
    "end_date": "9999-12-31",
    "approval_state": "APPROVED",
    "is_active": false,
    "status": "FROZEN",
    "audience_segments_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/audience_segments"
    },
    "custom_audience_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/custom_audience"
    },
    "marking_label_multi_targeting": {
        "state": "EXISTS",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/marking_labels"
    },
    "lookalike_audience_targeting": {
        "state": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/123/targeting/lookalike_audience"
    },
    "marketing_objective": "LEADS_GENERATION",
    "activity_schedule": {
        "mode": "ALWAYS",
        "rules": [],
        "time_zone": "US/Eastern"
    },
    "policy_review": {
        "reject_reason": null
    }
}
{
    "id": "124",
    "advertiser_id": "demo-advertiser-2",
    "name": "Demo Campaign - New name",
    "branding_text": "New branding text",
    "tracking_code": "utm_source=taboola&utm_medium=referral",
    "pricing_model": "CPC",
    "cpc": 1.0,
    "daily_cap": 30.0,
    "daily_ad_delivery_model": "STRICT",
    "spending_limit": 10000.0,
    "spending_limit_model": "ENTIRE",
    "cpa_goal": 0.0,
    "country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "sub_country_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "postal_code_targeting": {
        "type": "ALL",
        "value": null,
        "href": "https://backstage.taboola.com/backstage/api/1.0/demo-advertiser/campaigns/124/targeting/postal_code"
    },
    "contextual_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "platform_targeting": {
        "type": "INCLUDE",
        "value": [
            "PHON",
            "TBLT"
        ],
        "href": null
    },
    "publisher_targeting": {
        "type": "EXCLUDE",
        "value": [
            "housediver",
            "notifyai-marketplace",
            "pushnami-globalfinancial"
        ],
        "href": null
    },
    "os_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "connection_type_targeting": {
        "type": "ALL",
        "value": [],
        "href": null
    },
    "publisher_bid_modifier": {
        "values": []
    },
    "publisher_bid_strategy_modifiers": {
        "values": []
    },
    "campaign_profile": null,
    "comments": "Please apply suitable targeting.",
    ...
}
🚧

The user making the request must have permissions for both accounts (demo-advertiser-1 and demo-advertiser-2).

🚧

Params:

  • Pass the campaign owner as the account_id path param (not your network account).
  • Pass the target account as the destination_account query param.
Path Params
string
required
Defaults to demo-advertiser

An alphabetic ID. See Get Account Details.

string
required
Defaults to 123

A numeric ID. See the response returned by Get All Campaigns.

Query Params
string

(Optional) Use this query param to duplicate the campaign to another account in your network.
See below for details.

Body Params
json
Defaults to { "name": "Demo Campaign - New name", "branding_text": "New branding text", "spending_limit": 10000, "spending_limit_model": "ENTIRE", "comment": "Please apply suitable targeting.", "duplicate_settings": { "include_items": false, "include_publisher_bid_modifiers": false, "include_blocked_publishers": true, "include_third_party_tracking": true } }

You can optionally include a JSON object in the request body, to:
- Update (override) specific campaign field values.
- Indicate which campaign sections should be duplicated (default = all).

See the examples provided below.

Response

Language
Credentials
OAuth2
LoadingLoading…
Response
Choose an example:
application/json