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
Not supported
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
Final decorated link sent:https://meiro.io/page1?param1=x&whatsapp_message_id=de805372-ff1c-4925-bdcd-809eabd01cd6#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
orhttps://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.
No Comments