Skip to main content
Audience: Account Management, Customer Success, Solutions Engineering — for customers using sign-up units with coupon or welcome message flows.

The problem

Many businesses use a Sign-Up unit flow that works like this today:
1

Phone number collected

The website Sign-Up unit collects the user’s phone number.
2

User redirected to WhatsApp

The user is redirected to WhatsApp via a wa.me link and sends an inbound message to the business.
3

Bot matches and replies

The bot or autoreply matches the inbound phone number against the number collected on the website and sends back the coupon code.
This breaks with the BSUID rollout. Per Meta’s BSUID documentation, the phone number is only included in the inbound webhook if the business has interacted with that specific phone number within the last 30 days (evaluated per business phone number). For new users — which is exactly who a Sign-Up unit targets — the inbound message will arrive with a BSUID and no phone number. The matching in step 3 stops working.
The business already has the phone number — it was collected on the website in step 1. Instead of waiting for an inbound message and trying to match it, the business’s backend sends the coupon directly to that phone number as a business-initiated campaign via Connectly’s Campaign Send API. New flow:
1

Phone number collected

Website Sign-Up unit collects the phone number — unchanged.
2

Backend sends the coupon directly

The business’s backend calls POST /v1/businesses/{businessId}/send/campaigns with that phone number, triggering a pre-approved WhatsApp template that delivers the coupon code.
3

wa.me redirect (optional)

The wa.me redirect can stay if desired — but the coupon no longer depends on the inbound message arriving.
A side benefit: the outbound send counts as a business interaction with that phone number. Per Meta’s 30-day rule, subsequent inbound messages from that user will include the phone number again — so any downstream phone-based logic continues to work.

One-time setup

Before the first send, the customer needs:
  1. A campaign created in Connectly with an approved WhatsApp template containing the coupon message. Note its campaignId.
  2. The campaign must be published — the API rejects draft campaigns.
  3. A Connectly API key with messaging.send scope (passed as the X-API-Key header).

Example API request

Key fields:
By default, the API prevents sending the same campaign to the same phone number twice (if_duplicate_check_unspecified: allow_one). This is usually the right behaviour for a sign-up coupon — a customer should only receive it once.
Example response:

Important: pricing impact

Today’s flow replies inside the 24-hour customer-service window, so the coupon goes out as a free-form service message with no Meta messaging fee.The recommended flow sends a business-initiated template message, which Meta bills per delivered message according to its rate card (rate depends on template category and destination country).Confirm with the customer that they accept this cost before building the integration.

Alternative: request phone number sharing inside WhatsApp

If the cost increase is not acceptable, there is a cheaper option for phone-less users specifically. Meta added a native REQUEST_CONTACT_INFO message type that lets businesses ask the user to confirm sharing their phone number inside WhatsApp. The user taps one button, the shared phone number arrives on the webhook, and the existing phone-matching logic works again — all inside the free service window.
Sending this message type from the Connectly Flow Builder is not yet available. A dedicated node is planned. Until it ships, this option cannot be self-served through the platform. Contact your Connectly Account Manager for the latest status.