Skip to content
AdlyseDocs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
adlyse-ads
list_ad_accountsget_platform_supportget_ad_creation_capabilitiesget_ad_build_specupdate_ad_build_speclist_ad_plansget_ad_plan_publicationget_ad_planimport_ad_to_planimport_live_ad_to_plancreate_ad_plan_variantsadd_ad_plan_variantsupdate_ad_plan_groupgroup_ad_plansget_ad_plan_groupfreeze_ad_plan_grouppublish_ad_plan_groupcreate_ad_plancreate_ad_edit_planupdate_ad_planattach_ad_plan_assetfill_ad_plan_slotsfreeze_ad_planpublish_ad_planresolve_ad_publish_steplist_campaignsget_performancelist_change_eventslist_adsget_ad_performancelist_creative_librarylist_experimentsget_experimentpause_experimentresume_experimentstop_experimentpause_creative_adsupdate_ad_group_statusupdate_ad_statusupdate_campaign_statusupdate_campaign_budgetlist_swipe_filesave_competitor_ad_to_swipe_filesave_creative_to_swipe_fileremix_from_swipe_filestart_creative_jobresize_creativemake_variants_of_winnerget_creative_jobestimate_creative_batchstart_creative_batchbatch_to_plan_groupget_creative_batchsnapshot_catalog_productsgenerate_ad_copylist_ad_copycreate_creative_conceptrequest_creative_reviewget_creative_review
adlyse-workflows
adlyse-admin
adlyse-all
  1. Overview
  2. adlyse-ads

create_ad_plan_variants

Create independently editable copies of one draft — one per location, market, audience or account — kept together as one group.

Read get_ad_plan first and use its current version. Each target carries key, label and account_id. State each location’s own values explicitly in overrides, read from the user’s source and mapped as the user (or the organization’s instructions) describe. On the source’s own account a variant keeps what the account shares (media, pixel and conversion event, audiences) and drops the source location’s parents, Page and targeting, so set those per location; on another account it drops all account identity. Each variant shows an error for every dropped value until it is set again (null in overrides drops it on purpose), and for a Page it does not set: a location never falls back to the account’s default Page. Put each copy, targeting or media change in overrides, shaped as {step_id: {parameter: value}}, replacing whole parameter values (null removes the parameter and its dependency). Supply the complete list/object when replacing a nested value. Use actual connected account IDs and facts read from the user’s selected source. Sources can be any connected integration with the needed read capability, native tables or provided files. Discover and read the source through its existing tools, then apply the user’s selection and mapping rule to values and explicit overrides. Do not require an intermediate native table. For native tables, get_table and query_table_rows read the source; source_row: {table_id,row_id} records its actual row snapshot, which standing checks can compare against as {{row.<column>}}. This field accepts native rows only; external facts in values are context, not a verified external-source snapshot or a saved executable import rule. copies: {step_id: copy_id} attaches copy variants (crtv_copy_…, from generate_ad_copy or list_ad_copy): their text goes into the step’s copy parameters for its format, and the review gate holds the plan to that copy’s approval, so do not also override those fields. Use supported file ingestion to persist attachment media before attaching it. Never invent a location’s identity, URL or media. Surface missing reads, incomplete pagination and unresolved mappings before preparing a batch. The group keeps a source snapshot; later source edits do not silently overwrite customized variants. Reuse request_key after an uncertain response instead of creating a second group. This stores drafts only. Review selected variants together with freeze_ad_plan_group followed by publish_ad_plan_group, or review an individual draft with freeze_ad_plan.

Parameters#

NameTypeRequiredDefaultDescription
source_plan_idstringyes
expected_versionintegeryes
titlestringyes
targetsarrayyes
request_keystringyes
thread_idstringno

Generated by generate_mcp_docs from the server tool. Add to this page below this block; the block is rewritten on every run.

Previousimport_live_ad_to_planNextadd_ad_plan_variants