WhatsApp Business Platform

Duplicate a template with a new max price (BETA)

Updated: Jul 17, 2026
Copy for LLM
Duplicate an existing approved template to run the same message content at a different max price. Template duplication clones an approved template with a new name and max price (optimization_spec), so you can run identical templates across audience segments while setting a different max price for each.
Template duplication is available in Limited Beta as part of the max price feature. To use it, you must be enrolled in max price.

Eligibility

To duplicate a template:
  • The source template must be a MARKETING template in APPROVED status.
  • Your WhatsApp Business Account must be onboarded to the Marketing Messages API for WhatsApp.
  • The number of duplicates allowed per source template is determined by your business’s trust level. See Duplicate caps.

When to use template duplication

Use template duplication when you want to send the same approved template at more than one max price:
  • Cohort-based max price setup. Segment your audience by intent — such as recent buyers, lapsed users, and first-time prospects — and set a different max price for each segment while keeping the message identical. Because the template never changes, price becomes the only variable, so you can set a higher max price for high-value cohorts* and a lower max price for the rest.
    * Some in-demand customers are reached by many businesses, making delivery more competitive and messaging caps more likely to be hit — which leads to more undelivered messages. Setting a higher max price signals your priority to reach the customer and can increase your delivery rate.
  • A/B testing max price. Spin up several test arms from a single approved template, each with a different max price, in seconds. Since every arm carries byte-for-byte identical content, any difference in delivery rate, cost per delivery, or downstream conversion is attributable to the max price alone — giving you a clean read on how price moves your results.
  • Existing rate card template enablement. Duplicate a template that was created without a max price to produce a max price-enabled copy, without rebuilding it from scratch. This lets you adopt max price for a template that already performs on standard rate card (published rate) pricing while leaving the original template untouched.

How template duplication works

  • Marketing templates only. Template duplication supports only templates in the MARKETING category. You can’t duplicate utility or authentication templates.
  • Content is cloned from the source. When you provide source_template_id, Meta copies all content components (header, body, footer, and buttons), along with the template’s category and language, from the source template. You don’t send these fields — you send only the overrides.
  • The source must be approved. You can only duplicate a template that is in APPROVED status.
  • Approval is immediate. Because the content already passed review on the source template, the duplicate is created in APPROVED status without going through review again. It receives the same quality rating treatment as the source.
  • Duplicates are traceable. The response includes a source_template_id field that links the duplicate back to the template it was cloned from.
  • Duplicates count toward your template limit. Each duplicate counts against your WhatsApp Business Account’s template limit, the same as any other template.

Duplicate caps

Meta limits how many duplicates you can create from a single source template. The cap is determined by your business’s trust level: the higher your trust level, the more duplicates you can create per source template, up to a maximum of 25. If a source template has reached its cap, further duplication requests for that template fail until you remove an existing duplicate.

Duplicate a template

Use the Message Templates API to create the duplicate. Call the same endpoint you use to create a template, and include source_template_id to identify the template to clone. When source_template_id is present, the content components, category, and language are cloned from the source and become optional in the request body.

Request syntax

curl 'https://graph.facebook.com/<API_VERSION>/<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates' \
  -H 'Authorization: Bearer <ACCESS_TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{
  "source_template_id": "<SOURCE_TEMPLATE_ID>",
  "name": "<TEMPLATE_NAME>",
  "optimization_spec": {
    "bid_amount": <BID_AMOUNT>,
    "bid_strategy": "LOWEST_COST_WITH_BID_CAP"
  }
}'

Request parameters

Placeholder Description Example Value
<ACCESS_TOKEN>
String
EAAA...
<API_VERSION>
String
Optional.
Graph API version.
v26.0
<WABA_ID>String
Required.
WhatsApp Business Account ID.
102290129340398
<SOURCE_TEMPLATE_ID>
String
Required.
ID of the approved template to clone. The source template must be in APPROVED status and belong to the same WABA as the request.
1234567890123456
<TEMPLATE_NAME>
String
Required.
Name for the new duplicate template. Must be unique within the WABA.
seasonal_sale_promo_high_intent
<BID_AMOUNT>
int32
Required.
Maximum price per 1,000 message deliveries for the duplicate, expressed in your WABA currency’s smallest unit (cents for USD, paise for INR). For how to convert a per-delivery price, see Calculating max price amounts.
87000
<BID_STRATEGY>
Enum
Required.
The bid strategy to use. Currently supports only LOWEST_COST_WITH_BID_CAP.
LOWEST_COST_WITH_BID_CAP

Example request

curl 'https://graph.facebook.com/v23.0/102290129340398/message_templates' \
  -H 'Authorization: Bearer EAAJB...' \
  -H 'Content-Type: application/json' \
  -d '{
  "source_template_id": "1234567890123456",
  "name": "seasonal_sale_promo_high_intent",
  "optimization_spec": {
    "bid_amount": 87000,
    "bid_strategy": "LOWEST_COST_WITH_BID_CAP"
  }
}'

Example response

When the source template is approved, the duplicate is created in APPROVED status immediately.
{
  "id": "1733678867511493",
  "status": "APPROVED",
  "category": "MARKETING",
}

Response fields

FieldDescription
id
ID of the new duplicate template.
status
Status of the duplicate. APPROVED when the source template is approved.
category
Template category, cloned from the source template.

Limitations

During Limited Beta, the following limits apply:
  • Content can’t change. You can override only name and optimization_spec. All content components (header, body, footer, and buttons), as well as category and language, are cloned from the source template and can’t be modified.
  • Deleting the source removes its duplicates. When you delete a source template, its duplicates are also removed.

Error handling

ConditionBehavior
Source template is not in APPROVED status
HTTP 400 — the source template must be approved before it can be duplicated
name is missing or already in use within the WABA
HTTP 400 with a naming conflict error
Duplicate cap for the source template is reached
HTTP 400 — the source template has reached its maximum number of duplicates
WABA is not enrolled in the max price feature
HTTP 403 — enroll in max price before duplicating templates