ePrivacy and GPDR Cookie Consent by Cookie Consent Skip to main content

URL Decoration in WhatsApp Campaigns

When you send WhatsApp campaigns with dynamic buttons that include links, Meiro can automatically decorate eligible links with an internal identifier. This enables you to stitch together WhatsApp message events with website activity (page views), providing a comprehensive view of the customer journey.


Why URL Decoration Matters

Normally, when a user clicks a link from a WhatsApp message and lands on your website, there is no way to connect that action back to the original campaign.

With URL decoration:

  • Meiro appends an internal identifier (whatsapp_message_id) to eligible links.

  • When the customer lands on the site, the SDK captures this identifier in the page view event.

  • Analysts can configure stitching rules to connect the WhatsApp events (sent, delivered, seen) with page view events.

This provides clear attribution and enables journey analytics across WhatsApp and your website.


How URL Decoration Works

URL decoration supports dynamic WhatsApp URL buttons and connects WhatsApp engagement (such as a campaign being sent) with on-site behavior (like a page view).

When a dynamic URL button is used, Meiro automatically appends an internal whatsapp_message_id to the link. This ID is then captured by the Meiro SDK when the user lands on your website, so analysts can configure stitching rules to join the click with the customer’s profile.

Supported

  • Dynamic URL buttons — links added through parameters in templates are decorated and can be stitched.

Not supported

  • Static URL buttons — links hardcoded directly in templates are not decorated.

  • Links in the message body — whether static or dynamic — are not decorated. Meta’s recommended approach is to use dynamic URL buttons for links, so you don’t need to place URLs in the message body.

Business Example

With URL decoration, you can connect a WhatsApp campaign directly to user activity on your website. For example:

  • A WhatsApp Sent event confirms that the campaign message containing a dynamic button was sent.

  • A Page View event is captured by the SDK when the recipient clicks the decorated URL in that button.

  • Using the internal whatsapp_message_id, the two events are stitched together to show that the user who received the campaign also visited the website.

This makes it possible to measure the true impact of WhatsApp campaigns on user behavior and conversions.


URL Requirements

When setting up dynamic URL buttons in WhatsApp Business Manager:

  • Use a clean base URL in WhatsApp Manager. Set the static part to the simplest form (e.g., https://meiro.io) — without query parameters or #fragment.

  • Pass the rest dynamically in the campaign. Add the path, query parameters, and even a fragment via the dynamic URL button parameters. This allows Meiro to insert whatsapp_message_id in the correct place (before any #), so stitching works.

Warning: If the static URL contains a fragment (#), decoration will not work. Everything after the # is passed only to the frontend and is not visible to the Meiro SDK, so the whatsapp_message_id will be ignored.

❌ Bad (won’t stitch) – static URL includes params/fragment

Static in WhatsApp Manager:
https://meiro.io/page1/?param1=x#section1

What happens after decoration:
https://meiro.io/page1/?param1=x#section1?whatsapp_message_id=de805372-ff1c-4925-bdcd-809eabd01cd6

Why it fails: Everything after # is handled by the browser and not sent to the SDK, so whatsapp_message_id is ignored.

✅ Good (stitches correctly) – static base + dynamic path/params/fragment

Static in WhatsApp Manager (base URL only):
https://meiro.io

Dynamic in campaign (button parameters):
/page1?param1=x#section1

Why it works: The ID is inserted before the #, so the SDK captures it and stitching succeeds.

When the user clicks the decorated link and lands on your website, the Meiro SDK captures the whatsapp_message_id in the page view event and stitches it back to the WhatsApp campaign event.


Best Practices

To ensure successful stitching of WhatsApp links:

  • Always use dynamic URL buttons in templates — these are decorated automatically.

  • Keep the Website URL (in WABA) simple — use only the base domain or base page (e.g., https://meiro.io or https://meiro.io/page).
    • Put any paths, query parameters, or fragments (e.g., /offer?utm=…#details) into the campaign button parameters, not into the static Website URL.
  • Avoid links in the message body (both static and parameterized). Body links are not decorated and cannot be stitched.

  • Coordinate with analysts to define stitching rules using the whatsapp_message_id.

  • Monitor stitched events in reporting to validate campaign performance.