Skip to main content

Deep links

Updated: Nov 18, 2025 Marketing Messages API for WhatsApp (formerly known as Marketing Messages Lite API) is now generally available. You can map an Android deep link to a marketing template URL button that, when tapped, loads a particular location or content within your app. If you have not onboarded to the Marketing Messages API for WhatsApp (MM API for WhatsApp), your marketing templates will not display any conversion metrics. Learn more about how to measure conversion.

Template creation via WhatsApp Manager

To create a template with a button mapped to an Android deep link: Access WhatsApp Manager. Navigate to the Message templates > Manage templates panel and click the Create template button. Select Marketing (tab) > Custom (radio button) and click the Next button. In the Buttons section, click the + Add buttons dropdown menu and select Visit website. Check the Track app conversions checkbox to reveal the deep link fields (pictured below). Complete each field using their tooltips or form field descriptions below as guidance. Add any additional components you’d like your template to use, name your template, and submit it for approval. Note that you can also use the Manage templates panel to edit an existing template and add a deep link-mapped button, but the template will have to undergo template review again.

Form fields

Field labelDescriptionExample value
Android deep linkRequired.
Android deep link URI.
luckyshrub://deals/summer_solstice
Android fallback URLOptional.
Fallback URL.
If the WhatsApp client cannot load the deep link URI, the client will load this URL in the device’s default web browser.
If omitted, the client will attempt to load the URL specified in the Website URL field instead.
https://www.luckyshrub.com/deals/summer_solstice
Button TextRequired.
Button label text.
Maximum 25 characters.
View deal
Meta app IDRequired.
This is a list of the Meta app(s) associated with your business portfolio. Select the app whose access token you will use to send the template.
Lucky Shrub (634974688087057)
Type of ActionRequired.
Must be set to Visit website.
Visit website
URL TypeRequired.
Set to Static if your Android deep link or Android fallback URL has no dynamic values, otherwise set to Dynamic.
Static
Website URLRequired.
URL of a website to load if the WhatsApp user views the message on a non-Android device, or if the WhatsApp client cannot load your Android deep link URI and no Android fallback URL is specified.
https://www.luckyshrub.com/

Template creation via API

Use the POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates endpoint to create the template and include a URL button component mapped to your Android deep link. Note that you can also use the POST /<TEMPLATE_ID> endpoint to edit an existing template and add a URL button component, but the template will have to undergo template review again.

Request syntax

Template components can vary based on your needs. This example syntax creates a marketing template with the following components: text header, without parameters body, without parameters URL button, mapped to a deep link URI and fallback URL
'https://graph.facebook.com/&lt;API_VERSION&gt;/&lt;WHATSAPP_BUSINESS_ACCOUNT_ID&gt;/message_templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer &lt;ACCESS_TOKEN&gt;' \
-d '
\{
  "name": "&lt;TEMPLATE_NAME&gt;",
  "language": "&lt;TEMPLATE_LANGUAGE&gt;",
  "category": "marketing",
  "components": [\
    {\
      "type": "header",\
      "format": "text",\
      "text": "&lt;HEADER_TEXT&gt;"\
    },\
    {\
      "type": "body",\
      "text": "&lt;BODY_TEXT&gt;"\
    },\
    {\
      "type": "buttons",\
      "buttons": [\
        {\
          "type": "url",\
          "text": "&lt;BUTTON_LABEL_TEXT&gt;",\
          "url": "&lt;BUTTON_URL&gt;",\
          "app_deep_link": {\
            "meta_app_id": &lt;META_APP_ID&gt;,\
            "android_deep_link": "&lt;ANDROID_DEEP_LINK&gt;",\
            "android_fallback_playstore_url": "&lt;FALLBACK_URL&gt;"\
          }\
        }\
      ]\
    }\
  ]
}'

Request parameters

PlaceholderDescriptionExample value
&lt;ACCESS_TOKEN&gt; StringRequired. System token or business token.EAAJB...
&lt;ANDROID_DEEP_LINK&gt; StringRequired if using a URL button component mapped to a deep link. Android deep link URI. The WhatsApp client will attempt to load this URI if the WhatsApp user taps the button on an Android device.luckyshrub://deals/summer/
&lt;API_VERSION&gt; StringOptional
Graph API version.
v22.0
&lt;BODY_TEXT&gt; StringRequired if using a body component.
Template body text. Variables are supported.
Maximum 1024 characters.
Beat the heat with our sizzling summer deals on succulents! At Lucky Shrub, we...
&lt;BUTTON_LABEL_TEXT&gt; StringRequired if using a URL button component.
Button label text.
Maximum 25 characters.
View Deals
&lt;BUTTON_URL&gt; StringRequired if using a URL button component.
URL of a website that the WhatsApp client will attempt to load in the device’s default web browser when the button is tapped.
For deep links, this URL only be used if the WhatsApp user taps the button on a non-Android device.
https://www.luckyshrub.com/deals/summer/
&lt;FALLBACK_URL&gt; StringRequired if using a URL button mapped to a deep link.
URL of a website that the WhatsApp client will attempt to load in the device’s default web browser when the button is tapped but unable to load the Android deep link URI.
https://www.luckyshrub.com/deals/summer/
&lt;HEADER_TEXT&gt; StringRequired if using a text header component.
Template header text string.
Supports up to 1 parameter. If this string contains a parameter, you must include an example property.
Maximum 60 characters.
Sizzling Summer Deals at Lucky Shrub
&lt;META_APP_ID&gt; IntegerRequired if using a URL button mapped to a deep link.
Your Meta app ID.
634974688087057
&lt;TEMPLATE_LANGUAGE&gt; StringRequired.
Template language and locale code.
en_US
&lt;TEMPLATE_NAME&gt; StringRequired.
Template name.
Maximum 512 characters.
summer_deals_deep_link_v1
&lt;WHATSAPP_BUSINESS_ACCOUNT_ID&gt; StringRequired.
WhatsApp Business Account ID.
102290129340398

Example request

curl 'https://graph.facebook.com/v22.0/102290129340398/message_templates' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer EAAJB...' \
-d '
\{
  "name": "summer_deals_deep_link_v1",
  "language": "en_US",
  "category": "marketing",
  "components": [\
    {\
      "type": "header",\
      "format": "text",\
      "text": "Sizzling Summer Deals at Lucky Shrub"\
    },\
    {\
      "type": "body",\
      "text": "Beat the heat with our sizzling summer deals on succulents! At Lucky Shrub, we're passionate about bringing a touch of greenery to your life. Our succulents are not only low-maintenance and easy to care for, but they also add a pop of color and style to any room. Use the button below to see our Summer Steals!"\
    },\
    {\
      "type": "buttons",\
      "buttons": [\
        {\
          "type": "url",\
          "text": "View Deals",\
          "url": "https://www.luckyshrub.com/deals/summer/",\
          "app_deep_link": {\
            "meta_app_id": 634974688087057,\
            "android_deep_link": "luckyshrub://deals/summer/",\
            "android_fallback_playstore_url": "https://www.luckyshrub.com/deals/summer/"\
          }\
        }\
      ]\
    }\
  ]
}'

Viewing metrics

See our Viewing metrics document. Did you find this page helpful? Thumbs up icon Thumbs down icon ON THIS PAGE Template creation via WhatsApp Manager Form fields Template creation via API Request syntax Request parameters Example request Viewing metrics