Overview. Relay is passwordless β you sign in with your work email and a short code sent to your inbox. Nothing to remember, nothing to leak.
Steps
Enter your work email at your Relay URL.
Enter the 6-digit code from your inbox (expires ~10 min; use Resend if it lapses).
New here? Choose Sign up and verify the same way. Use a company email β public domains (gmail, outlookβ¦) are blocked.
If your org uses SSO, use the SSO / βAdvanced optionsβ path and sign in with your identity provider.
Best practices
Add @your-relay-domain to your email safe-senders so codes don't land in spam.
Turn on 2FA right after your first sign-in.
Troubleshooting
No code arrives β check spam, wait a moment, then Resend; confirm you used the same email your account is on.
βCode expiredβ β request a new one (codes are short-lived by design).
Sign-up blocked β you likely used a public-domain email; use your company address.
Related: Set up 2FA Β· Accept a team invitation
Overview. 2FA adds a second factor (a rotating code from an authenticator app) on top of your email sign-in β strongly recommended for anyone who can send messages or see customer data.
Steps
Use the MFA setup gate after first sign-in, or open Settings β Security.
Scan the QR code (or copy the manual key) into your authenticator app.
Enter the 6-digit code to confirm. You may βskip for 7 daysβ unless your org enforces it.
Best practices
Admins: enforce 2FA org-wide in Settings β Security so every member is protected.
Save your authenticator's backup/recovery codes somewhere safe.
Troubleshooting
βInvalid codeβ β your phone's clock is likely out of sync; enable automatic time on the device.
Lost your device β an admin can reset your MFA from Team Management.
Overview. When a colleague invites you, you activate your account from the invitation email and land in the portal with the role they assigned.
Steps
Click the link in your invitation email (opens the Accept invite screen).
Confirm your name and sign in with your email + one-time code (or SSO).
You'll get your assigned role β Admin / Editor / Viewer / Agent.
Troubleshooting
βInvite expiredβ β ask an admin to resend it from Settings β Team Management.
Wrong permissions β your role controls access; an admin can change it.
Related: Team management (invite & roles)
Overview. The guided wizard (βSell on WhatsApp in an afternoonβ) stitches the three setup tasks into one place so you reach a live, sending journey quickly. Do the steps in any order β progress is saved.
Get Started onboarding wizard β Relay Customer Portal (demo data).
Steps
Connect WhatsApp β opens WhatsApp Accounts (flips to βManage WhatsAppβ once a number is Registered).
Connect a store β Integrations (Salla / Shopify / WooCommerce / Zid; dev-sandbox available).
Choose a kit β Automation Gallery to instantiate a journey.
Best practices
Do all three β a store connection makes your automations commerce-aware and your AI agent catalogue-grounded.
Start with the abandoned-cart or welcome kit for the fastest ROI.
Related: Connect a WhatsApp number Β· Connect your store Β· Use a starter kit
Overview. The left sidebar groups everything by job. Here's the map:
What you see depends on your plan and what's enabled for your account. Agents see a focused view (Cases + My Performance).
Overview. Upload a CSV to create or update contacts in bulk. The wizard maps your columns, previews the data, and flags duplicates before anything is saved.
Before you start: a .csv with at least a Phone column (E.164, e.g. +9665β¦). Optional: name, email, Opt-In, tags, attributes. Up to 50 MB / 100k+ rows.
Drop the file; review the CSV Column Guide, mapping, and duplicates.
Confirm; review imported vs skipped.
Best practices
Include and map the Opt-In column β consent governs who you can legally message.
Only import contacts who gave you consent; never a purchased list (it wrecks deliverability).
Add tags/attributes on import so you can segment immediately.
Troubleshooting
Rows skipped β usually a missing/invalid phone; fix formatting to E.164 and re-upload.
Numbers look wrong β check the country/calling code; the preview shows the parsed value.
Related: Create a segment Β· Deliverability & compliance (Knowledge Base)
Overview. The contact profile is your single source of truth for a person β identity, consent, engagement, and commerce history pulled from connected stores.
Segments saved this way are live (dynamic) β membership updates automatically, and they work in both Campaigns and Automation triggers.
Related: Building high-value segments with RFM (Knowledge Base)
Overview. The Segments screen lists every audience you've saved. Segments are created from Contacts, then reused across Campaigns and Automations.
Segments β Relay Customer Portal (demo data).
Steps
Open Segments; search βSearch segmentsβ¦β.
Check Type (live / static) and Contacts count; dynamic ones show their rule.
Click a segment to open Contacts filtered to it.
Troubleshooting
βNo segments yetβ β create one from the Contacts page (Save as Segment).
Count looks off β dynamic segments recompute; the count reflects current membership.
Overview. Tags are lightweight labels on contacts (e.g. vip, wholesale). The Tags screen shows each tag's reach so you can spot useful audiences.
Tags β Relay Customer Portal (demo data).
Steps
Open Tags; search βSearch tagsβ¦β.
Review each tag's Reach bar and Contacts count.
Click a tag to open Contacts filtered to it.
Best practices
Apply tags in automations (Add tag) to mark milestones like new-customer or vip, then segment on them.
Overview. The CDP Hub shows the structured attributes Relay has enriched onto your contacts (from messages and connected stores) and suggests segments worth targeting.
CDP Hub β Relay Customer Portal (demo data).
Steps
Open CDP Hub.
Review enrichment KPIs and the attribute distribution/breakdown.
Read the AI advisory items (impact High/Medium/Low) for segment and campaign ideas.
Best practices
Act on the highest-impact advisory first, then build a segment for it in Contacts.
Overview. When the same person arrives from multiple sources, Relay stitches them together. High-confidence matches merge automatically; ambiguous ones wait for your decision here.
Steps
Open Integrations β Merge Review.
Compare candidates side-by-side; read the match rationale + confidence.
Choose the primary record and Merge, or Keep separate.
Best practices
Clear the queue regularly β duplicates split a customer's history and mis-score RFM.
Decisions are audited (who + when). Only ambiguous matches appear here.
Overview. Campaigns are one-time broadcasts. The builder walks you through five steps and shows live cost/parts so there are no surprises.
Add an SMS fallback so WhatsApp-unreachable contacts still get the message once.
Match the template category to intent (marketing vs utility) to avoid throttling.
Troubleshooting
No templates to pick β you need an Approved template first (WhatsApp β Templates).
Variables blank β check the mapping; unmapped variables fall back to their sample/default.
Overview. A/B testing compares message variants; a holdout (a group that gets nothing) lets you measure the true incremental lift, not just which variant looked better.
A/B test β variants & control holdout β Relay Customer Portal (demo data).
Steps
In the SMS Compose step, add named variants with a % split.
Optionally set a holdout / control (up to 30%) that receives nothing.
Launch; compare per-variant results and promote a winner to the remaining audience.
Best practices
Test one thing at a time (offer or copy), and keep the holdout for high-value sends.
Let it run long enough to reach a meaningful sample before declaring a winner.
A/B testing is available for SMS campaigns today.
Related: Measuring what matters (Knowledge Base)
Overview. Send immediately or schedule for a future date/time/timezone. Promotional sends automatically respect quiet hours.
In Schedule, choose Immediate or Scheduled (date/time/timezone, ~40 zones).
Edit a scheduled campaign in its window and Save Changes.
Promotional sends respect your account's quiet hours β a message outside the window is deferred to the next open window, never dropped. Transactional/OTP is exempt.
Overview. The performance view shows delivery and engagement for a campaign, including per-variant results for A/B sends.
Watch opt-outs and failed/blocked β a spike signals wrong audience or a deliverability issue.
Tie revenue back via the eCommerce dashboard's attributed revenue.
Overview. Automations are journeys that enroll contacts on a trigger and run steps automatically. This is where lifecycle revenue compounds β build cart recovery, welcome series, win-backs, and more.
Automation Builder β a live flow β Relay Customer Portal (demo data).
Steps
Automations β New Automation: Name, Category, Create Draft.
Click the entry node β Pick a trigger.
Add a step from the palette; configure it in the side panel.
Save Draft, then Publish.
Best practices
Start from the Gallery β a proven flow beats a blank canvas.
Add an entry condition (e.g. don't enroll people who already bought).
Set a frequency cap so overlapping journeys don't over-message a contact.
Troubleshooting
Publish is blocked β the linter found an error (empty branch, orphaned step); fix the highlighted node.
No one is enrolling β check the trigger and entry condition, and that the automation is Published (not draft).
Related: Cross-vertical playbooks (Knowledge Base) Β· Use a starter kit
Overview. The Gallery has ready-made automations you can instantiate and customise β the fastest way to launch a best-practice journey.
WhatsApp send steps can carry an SMS fallback for unreachable contacts.
Overview. Relay gives you real safety rails so a live journey can't run away β versioning, an instant stop, and automatic protection against error storms.
Find the biggest drop-off step and fix one thing (timing, copy, or an over-long wait).
Overview. Templates are reusable message bodies with typed variables and multi-locale support, gated by an approval workflow so only vetted content goes live.
Status βBlockedβ β a content-filter or DND rule stopped it; the detail view shows the reason.
Status βFailedβ β open the detail for the carrier error code (bad number, unreachable, etc.).
Overview. A Sender ID is the brand name recipients see. You can only send under IDs approved for your account β this prevents impersonation.
Steps
Settings β Sender ID Registration: submit a brand name (β€11 chars) + use-case description.
Track status (Approved / Pending / Rejected, with reason).
Approved senders appear under Approved Senders and become selectable in the campaign builder.
Troubleshooting
Rejected β the reason is shown (e.g. name too generic / not matching your brand); adjust and resubmit.
Free tier β sends use the shared Sandbox sender until you register your own.
Overview. Connect your WhatsApp Business Account (WABA) via Meta's Embedded Signup so Relay can send and receive. Relay shares its business credit line with your WABA, so you don't need to set up Meta billing yourself.
Channels β WhatsApp β Accounts; start Embedded Signup and authorise.
Expand the WABA to see numbers with state badges (Pending β Verified β Registered).
Use per-number panels to register, edit profile/name, or set the PIN (two-step verification).
Best practices
Watch the quality rating β keep it green by only messaging opted-in contacts and avoiding high opt-out sends.
Troubleshooting
Can't send yet β the number must reach Registered first.
Credit line failed β use the βAttach credit lineβ retry, or contact your Relay admin.
Overview. WhatsApp requires pre-approved templates to start conversations. Relay lints against Meta's policy before you submit, so more templates pass first time.
Channels β WhatsApp β Templates: Sync all from Meta to import existing ones, or New Template.
Set category (Marketing / Utility / Authentication), locales, components, and {{n}} variables with samples.
Submit to Meta; track per-locale status; use Sync status to refresh.
Best practices
Choose the right category β mis-categorised marketing-as-utility templates get rejected or throttled.
Marketing templates on an enrolled number route via MM Lite for better delivery at the same price.
Troubleshooting
Rejected by Meta β the status shows why; fix policy issues (promotional content in a utility template is common) and resubmit.
Overview. A two-pane inbox for live WhatsApp conversations, with the 24-hour service-window timer front and centre so you know when a free-form reply is allowed.
Reply within the window; click Return to AI to hand a thread back to the agent.
Troubleshooting
Can't send a free-form reply β the 24h window has closed; send an approved template instead, or wait for the customer to message again.
Overview. The WhatsApp Explorer mirrors the SMS one for WhatsApp β search, inspect the full status timeline, and export.
Steps
Channels β WhatsApp β Explorer.
Filter by direction, status, message type, number, and date (β€90 days).
Open a row for the status timeline (every transition + error codes) and raw payload; Export CSV.
Overview. The AI Sales Agent answers WhatsApp questions from your catalogue and knowledge base, recommends products, and escalates to a human when it should. Results come from a good knowledge base and tight guardrails β not the model.
AI Sales Agent setup β Relay Customer Portal (demo data).
Steps
eCommerce β AI Sales Agent; select or create an agent.
Set Model, greeting, language (auto/Arabic/English), and the WhatsApp number.
Fill the Knowledge Base sections; set guardrails (grounded-only, discount ceiling, off-limits topics) and handoff rules.
Create agent / Save, then set status active.
Best practices
Start grounded-only with a full knowledge base; reindex after big edits.
Connect your store so the agent references real products, stock, and orders.
Review Cases weekly β each hand-off is a KB gap to fill (and containment climbs).
Troubleshooting
Agent hands everything off β the knowledge base is too thin; add the top questions.
Gives away too much discount β set/lower the discount ceiling.
Related: The WhatsApp AI Sales Agent playbook (Knowledge Base) Β· Handle Cases
Overview. When the agent (or an automation) escalates, a Case opens for a human. The workspace gives you the AI summary, the live thread, and dual-mode replies so you can resolve fast.
Open a case: read the AI summary, the live thread, and the contact rail (RFM, LTV, orders).
Reply Via AI (the agent rephrases your draft) or Directly; assign, add notes, Return to AI, or Close.
Best practices
Answer within the SLA (default ~60 min); use βVia AIβ to keep a consistent voice.
Note the handoff reason β it tells you what to add to the agent's knowledge base.
Overview. Leaderboards for both your human team and your AI agents, so you can see resolution speed, SLA health, and how much the AI is handling on its own.
Steps
Support β Performance; pick 7d / 30d / 90d.
Human Agents: handled/resolved, first-response & resolution times, SLA breaches.
AI Agents: conversations, containment rate, handoffs, avg turns/confidence, sentiment.
Best practices
Track containment over time β rising containment means your KB is improving.
Use the top handoff reason as your next KB fix.
Overview. Connecting your store is the unlock for everything commerce β order/cart/browse signals power segments, automation triggers, and revenue attribution.
Integrations β click Connect on your platform's card.
In βConnect {Platform}β, enter the store identifier β Salla domain/ID; Shopify *.myshopify.com; Zid OAuth; WooCommerce site URL + Consumer key/secret.
Authorise/verify; the connection goes live and historical backfill begins.
Best practices
Connect before building commerce automations so triggers like cart.abandoned have data.
Add the browse/cart pixel to power abandoned-browse journeys.
Just exploring? Use a dev-sandbox store (tagged βDev stubβ) to see the flow before wiring real credentials.
Overview. Each connection card shows health (events received, failures, last event) and lets you pause, refresh, or disconnect.
Steps
On Integrations, click a connection card (Events 24h / Failed 24h / Last).
Pause / resume / disconnect, trigger a manual refresh, and review authorised scopes + the last error.
Troubleshooting
βNeeds attentionβ / errors β open the connection, read the last error, and reconnect if the store revoked access.
Overview. The eCommerce dashboard connects your messaging to money β attributed revenue, cart recovery, VAT, and your RFM lifecycle distribution in one place.
See the RFM distribution (11 segments); click to recompute.
Best practices
Watch the RFM distribution monthly β more Champions over time means your lifecycle programme is working.
Related: Measuring what matters (Knowledge Base)
Overview. Generate a hosted payment link inside a conversation and track it to paid β useful for closing a sale in chat or requiring prepayment from COD-risk customers.
Steps
Generate a hosted payment link from an agent chat, automation step, or inbox reply.
Track its lifecycle (pending β paid / expired / cancelled); a paid link is credited as revenue attribution.
Payment-link support is available and maturing; native WhatsApp Pay is on the roadmap.
Overview. Apps are containers that isolate traffic, rate limits, and credentials β create one per integration or environment (e.g. production vs staging).
Use Try It with your key. SMS is also available over SMPP 3.4 (System ID + password).
Best practices
Batch with the bulk endpoint (β€1000 recipients/request) rather than looping single sends.
Overview. Receive delivery receipts at your endpoint, and monitor every outbound webhook delivery with retries, a dead-letter queue, and manual replay.
Open Billing; review your plan and usage vs allowances.
In the catalog, click Select {Plan} or Upgrade Plan and complete checkout.
Manage Payment Method and view Invoice History.
Best practices
Watch quota banners across the app β they deep-link here before you hit a hard limit.
Relay supports subscription, prepaid-wallet, and postpaid billing. For pricing, contact your Relay account team.
Overview. Your org's identity and the Account ID support will ask for.
Steps
Settings β Organization.
Set org name, logo, website, and primary industry; copy your Account ID when contacting support.
Overview. Invite teammates and give each the least access they need. Roles: Admin (full), Editor (campaigns/contacts/settings), Viewer (read-only), Agent (Cases + performance only).
Settings β Team Management β Relay Customer Portal (demo data).
Steps
Settings β Team Management; invite with name + email.
Choose a role (Admin / Editor / Viewer / Agent).
Resend, suspend, or remove members (admin only).
Best practices
Give support staff the Agent role β they get a focused Cases view and can't change settings.
Overview. Org-wide security controls β enforce 2FA, connect SSO, and restrict access by IP.
Toggle email / in-app channels and set the per-type matrix (campaign completed, invoice issued, security alertβ¦).
Overview. Relay keeps your promotional sends within regulator-aligned hours automatically, so you stay compliant without thinking about it.
Per-country, per-channel quiet hours in the recipient's local time β promotional sends are deferred, not dropped; transactional/OTP is exempt.
Legal windows for KSA, UAE, Qatar; recommended elsewhere; a Ramadan mode shifts them automatically.
A DND registry suppresses do-not-disturb numbers automatically.
These policies are usually set by your operator/admin β contact them to adjust windows for your markets.
Related: Deliverability & compliance in MENA (Knowledge Base)
Lifecycle marketing means matching the message to where a customer is in their journey β and letting automations do it for you. That's where the compounding revenue is.
The five stages & the Relay tool for each:
Acquire β get consent β opt-in request step, contact import.
Onboard β first value/first purchase β welcome series, AI Sales Agent.
The flywheel: signals in (orders/carts/browse) β segments update themselves β automations fire on triggers β revenue is attributed β you double down on what works.
Where to start (first 30 days), by ROI:
Abandoned-cart recovery (fastest money).
Welcome / first-purchase series.
Post-purchase order & shipping updates.
Win-back for lapsed buyers.
The AI Sales Agent to handle the conversations these create.
SMS β reach & reliability. Works on any phone, no app. Best for OTP/transactional alerts and broad reach. 160 chars/part (70 for Arabic) β Relay counts parts live.
WhatsApp β conversation & commerce. Media, buttons, catalogues, real replies. Two modes: template messages (Meta-approved, needed to start a conversation) and session messages (free-form, only inside the 24-hour customer-care window).
How to decide:
OTP / login code β SMS.
You have WhatsApp opt-in and want engagement β WhatsApp.
Broad promo, unknown reachability β SMS, or WhatsApp with an SMS fallback.
Two-way support / product Q&A β WhatsApp + AI agent.
Recipient outside the 24h window β a template, not free-form.
Best practice: set a WhatsAppβSMS fallback so unreachable contacts still get the message once β never double-send.
RFM scores every contact on Recency, Frequency, and Monetary value from order history. Relay computes it nightly (tenant-relative quintiles) and buckets contacts into 11 lifecycle segments you can target directly; recompute on demand from the eCommerce dashboard.
The plays:
Champions / Loyal β status & early access, not discounts (they'll buy anyway).
Potential Loyalists / New / Promising β onboarding & education to build the habit.
Need Attention / About to Sleep β re-engage before they lapse.
At Risk / Can't Lose Them β win-back scaled to value (high-touch for high value).
Hibernating / Lost β last-chance incentive, then suppress.
Use it: build segments in Contacts β Save as Segment (e.g. rfmSegment = At Risk + category + COD-risk), feed them into campaigns and automations. Segments are live, so contacts move between journeys automatically as behaviour changes.
Deliverability is consent, timing, content, and channel health β not luck.
Consent first. Message only opted-in contacts; track opt-in status & source; use double opt-in where required; honour opt-outs (Relay maintains suppression + a DND registry).
Quiet hours. Relay enforces per-country, per-channel windows in the recipient's local time β promotional sends are deferred, not dropped; transactional/OTP is exempt. Legal windows for KSA, UAE, Qatar; a Ramadan mode shifts them automatically.
Sender health. SMS: send only under an approved Sender ID (anti-impersonation enforced). WhatsApp: keep your number's quality rating green and mind your messaging tier.
Content that lands. Keep SMS tight (Arabic costs more per part); get WhatsApp templates approved under the right category; avoid spammy patterns.
Common mistake: importing a purchased (non-consented) list β it wrecks deliverability and breaks the rules.
Baseline every metric first, then set a target. The KPIs that matter, by objective:
Delivery: delivery rate, failed/blocked (Message Explorer) β a drop signals a deliverability/sender problem.
Engagement: WhatsApp read rate, clicks, replies.
Revenue: conversions & attributed revenue (eCommerce dashboard) β the number that matters most.
Commerce: cart-recovery rate, new-vs-returning, AOV, RFM shift over time.
Conversational: AI containment rate, first-response SLA, sentiment.
Attribution links touches (sent/delivered/clicked, by A/B variant) to orders (last-touch), plus in_chat_payment for payment links.
Always be testing: use A/B with a holdout on SMS to measure true incremental lift, then promote winners.
A great agent answers 60β80% of questions itself (high containment), never invents products/prices, and hands off cleanly when it should.
Set it up for success:
Feed it a real knowledge base β fill every section (shipping, returns, checkout, pricing, smart selling, FAQs, about). Reindex after big edits.
Keep it grounded-only; set a discount ceiling and off-limits topics.
Connect your store so it references real products, stock, and orders.
Tune handoff β keywords, negative sentiment, low confidence, high order value; plus return-from-handoff.
Best practices: start narrow and loosen once you trust it; review Cases weekly β every hand-off is a gap in the KB (fill it and containment climbs); localise (auto language); watch Agent Performance (the top handoff reason is your next KB fix).
Common mistake: an empty knowledge base β the agent hands everything off and your team drowns.
The opportunity. Fashion is visual, seasonal, and identity-driven: high browse-to-cart drop-off (recovery is your biggest lever), seasonal drops & sales (incl. Ramadan/Eid), and style-led repeat purchase β people come back for the next look, not to reorder. WhatsApp fits perfectly: show the product, answer "will it fit?", close the sale.
Segments to build: VIP/Champions (early access), category affinity (targeted new-arrival campaigns), browsed-not-bought (from the pixel), seasonal at-risk, COD-risk.
Priority automations: (1) abandoned cart β lead with the item's image, skip the coupon for Champions; (2) welcome/first-purchase with a styling + fit/care tip; (3) new-drop announcement to Champions first, then affinity segments; (4) win-back triggered on new drops in a browsed category or a seasonal window β not a fixed timer (fashion isn't consumable).
MENA: use the Hijri trigger for Ramadan (modest/eveningwear, gifting) and Eid (new-outfit demand peaks); localise to Arabic.
AI agent KB: sizing & fit (the #1 question), returns/exchanges (high return rates β be clear), "style it withβ¦" cross-sell, current drops.
Sample: "Still thinking it over, {{first_name}}? Your {{product_name}} is waiting β sizes are selling fast. {{cart_link}}"
The opportunity. F&B is bought weekly (or more), so small nudges compound fast and WhatsApp is already the ordering channel in MENA. Two dynamics dominate: habit & recency (win the next order this week β reorder reminders are the core play) and timing (breakfast/lunch/dinner are different audiences).
Online + offline: unify store (e.g. Salla) + POS (Foodics) into one contact view so a regular is a regular whether they order online or walk in. (Confirm POS connectors enabled for your account.)
Segments: frequent diners, lapsed regulars (act fast β a 2-week gap is meaningful), time-of-day, COD-risk.
Priority automations: (1) reorder reminder on the customer's own cadence β the money-maker; (2) order & delivery confirmation on WhatsApp; (3) welcome/first-order; (4) abandoned cart with a short fuse (~15β30 min β F&B carts expire fast); (5) early win-back.
MENA: Ramadan is the biggest F&B moment β use the Hijri trigger for Suhoor/Iftar timing and Eid; pre-Iftar reminders convert strongly.
AI agent KB: menu & availability, cut-off times, delivery zones/ETAs, allergens/halal, combos.
Sample: "Your usual {{item}}, {{first_name}}? Tap to reorder β ready in {{time}} β±οΈ {{link}}"
KPIs: order frequency Β· reorder-reminder conversion Β· lapsed-regular reactivation speed Β· Ramadan revenue vs baseline.
The opportunity. Two traits make lifecycle automation unusually powerful: replenishment (consumables run out on a predictable cycle β reminding just before run-out is the single highest-ROI automation) and advice-led buying (routines, shade/skin match, ingredients β a knowledgeable agent lifts conversion). Together: predict the reorder, and be the expert in the chat.
Segments: replenishment-due (days-since-last-order approaching run-out, per SKU), VIP, routine builders (bought one step, missing complements), lapsed.
Priority automations: (1) replenishment reminder timed just before run-out β the money-maker; (2) welcome + how-to-use + routine completion; (3) order/shipping + usage tip; (4) educational cart nudge; (5) win-back for missed replenishment.
MENA: Ramadan/Eid drive gifting & self-care β use the Hijri trigger for gift sets and limited editions; localise to Arabic.
AI agent KB: routines & how to layer, shade/skin-type matching, ingredients/suitability, hygiene returns.
Sample: "Running low on {{product_name}}, {{first_name}}? Reorder now so you don't skip a day of your routine β¨ {{link}}"
KPIs: replenishment-reminder conversion (headline) Β· repeat-purchase rate Β· routine-completion rate Β· AI containment on advice.
The patterns adapt to any repeat-purchase vertical β commerce segments, the priority automations, a grounded agent, and the cross-vertical playbooks. Only cadence and the agent knowledge base change:
Electronics: long cadence between big-ticket items β monetise accessories & warranties post-purchase; agent KB = specs/compatibility/warranty.
Home & Living: occasional, project-based β nurture with inspiration + seasonal refresh; agent KB = dimensions/materials/assembly.
Grocery & Essentials:weekly β reorder-the-basket is the core value; agent KB = availability/substitutions/slots.
How to start any vertical: connect your store β build 3β4 commerce segments β instantiate the priority automations and tune the cadence β fill the agent KB with your top questions β layer the cross-vertical playbooks.
Why. The shopper showed high intent and you already have their contact. On WhatsApp it's conversational β they can reply and (you or the AI agent) close the sale.
Trigger:cart.abandoned (connected store; browse/cart pixel improves coverage) with an entry condition so you don't nag someone who bought.
The flow β a 3-touch ladder (more feels like harassment):
+1h helpful reminder with the cart items (SMS fallback) β no discount yet.
Trigger:order.paid; branch on first-order so first-timers get the full series and repeat buyers a lighter one.
Flow: thank-you + what's next β shipping updates (order.fulfilled/delivered) β post-delivery check-in (offer help / route to AI agent) β complementary recommendation or reorder nudge β tag new-customer, add to an onboarding segment.
Messages: "Thanks for your order, {{first_name}}! π We're preparing {{product_name}} now." β¦ "People who bought {{product_name}} love {{complement}} β here's a little something to try it."
Compliance: order/shipping updates are transactional (exempt from quiet hours); the recommendation is promotional (quiet hours apply). Classify intent correctly so updates always go out immediately.
Measure: repeat-purchase rate, time-to-second-order, attributed revenue from the nudge.
Trigger:order.created where payment = COD.
Flow: WhatsApp "Confirm your order?" (Yes/No buttons) β wait-for-event β on "Yes" proceed; on "No" flag/cancel; on timeout, remind then flag β feed the outcome into a COD-risk segment.
Message: "Hi {{first_name}}, please confirm your COD order of {{order_total}} for delivery to {{city}}. Reply Yes to confirm or No to cancel."
Best practice: for repeat COD-failers, require prepayment via a payment link. Confirmation is transactional (exempt); use a template outside the 24h window.
Mistakes: no timeout branch; not using the outcome to build the COD-risk segment (you keep eating the same failures).
Measure: COD failure/return rate before vs after; confirmation reply rate.
Trigger:order.delivered + a 2β3 day wait (let them use the product).
Flow: optional AI sentiment check β branch: likely happy β review request link; likely unhappy β Handoff to human to fix it privately.
Message: "Hi {{first_name}}, how are you enjoying {{product_name}}? A quick rating helps others shop with confidence: {{review_link}}"
Best practice: ask once, make it one tap. Mistake: asking before delivery or after a delivery problem.
Measure: review reply/click rate; downstream conversion lift on reviewed products.
Trigger: segment entered β RFM At Risk, Can't Lose Them, or Hibernating (or days-since-last-order > N).
Flow: "we miss you" + a reason to return (new arrivals) β wait 3β5 days β branch (paid? β End) β stronger incentive (respect the discount ceiling) β last-chance β End.
Scale to value: Can't-Lose-Them β personal/VIP touch, a real reason (not just a coupon). At-Risk β modest incentive + what's new. Hibernating/Lost β biggest incentive or a low-cost final attempt, then suppress.
Mistakes: same offer regardless of past value; never suppressing truly-lost contacts.
Measure: reactivation rate by segment, revenue per win-back, RFM movement (At Risk β Loyal).
Trigger:time.birthday, or a Hijri-calendar date (Ramadan start, Eid Al-Fitr/Adha, or any Hijri month+day).
Flow: personalised greeting referencing their favourite category/last purchase β optional time-boxed offer β Mark conversion on redemption.
Messages: "Happy birthday, {{first_name}}! π {{coupon}} on your favourites ({{top_category}})." Β· "Ψ±Ω ΨΆΨ§Ω ΩΨ±ΩΩ Ψ {{first_name}} β an early look at our Ramadan collection, just for you."
Best practice: time Ramadan/Eid sends with the eCommerce dashboard's Hijri header; segment by past category so it feels personal, not mass.
Measure: redemption rate and occasion-period revenue vs a normal period.
There are three ways a business can send on WhatsApp. Knowing which one you're on explains what you can automate, how you're billed, and who you talk to for support.
The three options
WhatsApp Business App β the free mobile app for very small businesses. Manual, one device, no automation or CRM. Not what Relay uses.
WhatsApp Business Platform β Cloud API β Meta-hosted, programmatic access for automation, campaigns, and multi-agent inboxes. This is today's standard and what Relay runs on.
WhatsApp Business Platform β On-Premises API β the older self-/partner-hosted version. Meta is sunsetting it; new features and template sending have been moving off it. New deployments should always be on the Cloud API.
What a WABA is
A WhatsApp Business Account (WABA) is the container for your phone number(s), message templates, quality rating, and settings. It lives inside a Meta Business Portfolio (Business Manager). One business can have multiple WABAs; a WABA can hold multiple numbers.
How Relay fits
Relay connects you to the Cloud API through Cequens as a Meta Business Solution Provider (BSP). You get onboarding, number provisioning, template management, and a shared inbox without running any WhatsApp infrastructure yourself.
Meta lets businesses reach the WhatsApp Business Platform in a few ways, organised under the Meta Business Partners program. The model you pick decides who hosts messaging, who bills you, and how much of the plumbing you own.
The partner models
Solution Partner (classic "BSP" β Business Solution Provider) β a Meta-approved partner that provisions WhatsApp access, hosts messaging, provides tooling, and bills you directly (they settle with Meta on your behalf). Cequens is a BSP, and Relay is built on top of it.
Tech Provider β builds software on the Cloud API, but the customer holds the direct billing relationship with Meta (your own WABA and credit line; the provider supplies the app layer).
Direct / self-serve Cloud API β a business integrates with Meta itself and manages its own account, infrastructure, and billing. Most flexibility, most operational overhead.
A note on the names
"BSP" is the long-standing industry term; Meta's program language now uses Solution Partner and Tech Provider tiers, with a verified Meta Business Partner badge for approved companies. You'll hear all of these used interchangeably.
Why the choice matters in MENA
Faster onboarding β an established regional BSP speeds number approval and verification.
Local compliance β help with Arabic templates, KSA/UAE rules, quiet-hours and consent.
One invoice & local support β consolidated billing and a team in your timezone.
To start a conversation outside the 24-hour service window, you must use a pre-approved message template. Templates are reviewed by Meta and grouped into three categories that also drive how they're billed.
The three categories
Marketing β promotions, offers, product launches, newsletters, cart nudges, re-engagement. The most common category for campaigns.
Utility β messages triggered by a transaction or account event the customer expects: order confirmations, shipping updates, appointment reminders, payment receipts.
Authentication β one-time passcodes and login/verification codes only.
What a template contains
A name, a language, a category, and a body with {{1}}-style variables. Optionally a header (text/media), a footer, and buttons (quick-reply or call-to-action). You supply sample values so Meta can review it.
Why templates get rejected
Promotional content submitted as Utility (wrong category).
Variables at the very start/end, back-to-back variables, or missing sample values.
Prohibited or regulated content, or content that looks like spam.
Formatting/grammar issues or broken links.
Category re-classification: Meta may re-categorise a template it believes is mis-labelled (e.g. a "Utility" that reads as marketing), which changes how it's billed. Template pausing: templates with high block/report rates can be paused or disabled until quality recovers.
In Relay you build, preview, and submit templates under WhatsApp β Templates; each shows its live status (Approved / Pending / Rejected).
Meta's billing model has evolved. You don't need the exact rates to plan well β you need to understand the categories, the free service window, and what triggers a charge.
From conversations to per-message
From 2022 WhatsApp billed per 24-hour conversation in four categories. As of 1 July 2025 Meta moved to per-message pricing: you're charged per template message delivered, priced by category (Marketing / Utility / Authentication) and destination country. Free-form service messages are not charged per message.
The 24-hour customer service window
When a customer messages you, a 24-hour window opens. Inside it you can reply with free-form service messages (no template needed, no per-message charge). Outside it, you must send an approved template, which is billed by category.
Free-er paths
Free entry points β conversations that begin from a click-to-WhatsApp ad or a Facebook Page call-to-action open a longer 72-hour free window.
Utility inside the service window β utility templates sent while a service window is open have been made free (from Nov 2024).
Prices vary by country and change over time. Relay surfaces your WhatsApp usage and billing in-app β for exact current rates, check with your Relay account team.
Meta protects users by scoring each sending number and capping how fast you can grow. Two things to watch: your quality rating and your messaging limit tier.
Quality rating
Each phone number carries a rating from the last 7 days of user signals (blocks, reports, "why did I get this"):
π’ Green β High
π‘ Yellow β Medium
π΄ Red β Low (at risk of restriction)
Phone-number status can read Connected, Flagged (quality dropped, under review), Restricted (hit the limit or low quality), or Pending.
Messaging limit tiers
Your limit is the number of unique customers you can start conversations with in a rolling 24 hours:
Trial / unverified β a small test volume (around 250 unique customers).
Tier 1 β 1,000 unique customers / 24h
Tier 2 β 10,000
Tier 3 β 100,000
Tier 4 β Unlimited
How you scale up (and down)
Complete business verification and keep High/Medium quality while regularly using ~50%+ of your current limit β Meta then auto-upgrades you to the next tier. If quality falls, limits can be reduced.
What lowers quality: messaging people who never opted in, high block/report rates, and irrelevant or too-frequent marketing. Protect it with clean opt-in, tight segments, and frequency caps β Relay's frequency ledger enforces per-contact limits for you.
WhatsApp is a permission-first channel. Getting opt-in right protects your quality rating, keeps you compliant, and is the single biggest driver of deliverability.
The opt-in requirement
Meta requires opt-in before you message someone. The opt-in must make clear that the person will receive messages from your business on WhatsApp, and it must identify the business by name.
Acceptable ways to collect it
A checkbox at sign-up or checkout (unchecked by default).
A keyword the customer sends to your number ("START", "JOIN").
IVR / phone, in-store, or an existing channel where they clearly agreed.
Whatever the method, log the consent (source + timestamp). Relay stores consent state on each contact and offers a double opt-in step (send_optin_request) inside Automations.
The policies
You're bound by the WhatsApp Business Messaging Policy and Commerce Policy. Regulated/prohibited categories include alcohol, tobacco, drugs, weapons, adult content, gambling, and certain supplements and financial products. No unsolicited or bulk spam.
MENA layer: pair Meta's rules with local law β KSA PDPL, UAE data rules, and legal quiet hours. Relay's quiet-hours and DND controls enforce these on top of consent.
Three related trust signals often get confused. Here's what each one is and how you get it.
Display name
The business name customers see on your messages. It must follow Meta's display-name guidelines β reflect the real business, avoid URLs or emoji-only names, and match your branding. A new display name is reviewed by Meta.
Business verification
Done in Meta Business Manager, this confirms your business is a real, registered entity (documents + domain). It's a prerequisite for raising messaging limits and for applying for the green tick.
Official Business Account (the green tick)
The green checkmark beside your name marks an Official Business Account (OBA). Meta grants it based on brand notability and authenticity β it isn't simply purchased. It boosts trust and can lift open/response rates. Without OBA, a verified business still shows its approved display name (customers just don't see the tick).
Order of operations: get your display name approved β complete business verification β maintain good quality β become eligible for OBA.
Every WhatsApp message sends from a registered phone number tied to a WABA. Here's how numbers work and what to prepare.
The structure
A WABA can hold several phone numbers, but each number belongs to one WABA at a time. Numbers live under your Business Portfolio.
Choosing a number
A brand-new number β clean, dedicated to WhatsApp Platform.
Migrate an existing number β including one currently on the WhatsApp Business App. Migration frees it from the app and registers it on the Platform (you lose app-only chat history).
The number must be able to receive an SMS or voice OTP to register, and must not be active on regular WhatsApp or another WABA.
Registration & the two-step PIN
Numbers are registered with a 6-digit two-step verification PIN that prevents anyone else from re-registering them. Keep this PIN safe.
Hosting
On the Cloud API the number is hosted by Meta (through your BSP). With Relay/Cequens, provisioning, OTP, and the PIN are all handled inside Embedded Signup during WhatsApp onboarding β no manual Meta setup.
Almost all business SMS is A2P. Knowing the path a message takes explains why routes, sender IDs, and delivery receipts matter.
A2P vs P2P
P2P (person-to-person) β normal phone-to-phone texting between individuals.
A2P (application-to-person) β messages sent from software or a business to a person: OTPs, order alerts, marketing. This is what Relay does, at scale, with tracking.
The delivery chain
A single A2P message hops through several parties before it lights up a phone:
Your brand β you send via a Relay campaign, automation, or the API.
Aggregator / provider β Cequens, which holds carrier-grade routes across MENA.
Interconnect / SMSC β the operator's short-message service centre queues and forwards.
Destination mobile operator (carrier) β delivers to the subscriber.
Handset β and a delivery receipt (DLR) flows back up the chain.
Why the route matters
Not all routes are equal β direct/wholesale routes deliver reliably with real DLRs, while cheap "grey" routes drop messages or fake receipts. Cequens provides carrier-grade A2P routes in the region, and Relay routes each message through the best available carrier connection for you.
The sender ID is what appears as the sender on the recipient's phone. Choosing and registering it correctly is the single biggest lever on trust and deliverability.
The types
Alphanumeric sender ID β up to 11 characters of your brand name (e.g. RELAY). Branded and trusted, but one-way β recipients can't reply. The default for A2P branding in MENA.
Long code (long virtual number) β a standard mobile number. Supports two-way replies; lower throughput.
Short code β a 4β6 digit number. High throughput, often for OTP and high-volume campaigns; leased and registered per country.
Dedicated vs shared
A dedicated sender is exclusive to you (full control, consistent branding). Shared pools are cheaper but you don't control the number and can't brand it.
Registration is mandatory in the GCC
Most Gulf operators require sender IDs to be pre-registered / whitelisted (KSA via CITC, UAE via TDRA, etc.). Unregistered IDs are typically blocked or replaced with a generic label. Arabic sender IDs are supported in some markets.
In Relay you request and track sender IDs under Settings β Sender ID Registration and see live ones under Approved Senders.
SMS has hard character limits that depend on the alphabet you use. Arabic and emoji cost more room than Latin text β this directly affects how many message "parts" you pay for.
Two encodings
GSM-7 β the standard 7-bit alphabet. 160 characters in a single SMS. Latin letters, digits, basic punctuation.
UCS-2 / Unicode β required for Arabic, emoji, and other non-Latin scripts. 70 characters in a single SMS.
Concatenation (multipart)
Longer messages are split into segments and reassembled on the handset. The join header eats a few characters, so each part shrinks:
GSM-7 multipart: 153 chars per part
UCS-2 multipart: 67 chars per part
How this hits billing
You're charged per segment, not per message. A 300-character Arabic message = 5 parts (67 each) β five times the cost of one. Keep Arabic tight, or watch the live part counter in Relay's composer.
Watch out: a few "extended" GSM-7 characters (β¬ { } [ ] ~ ^ \ |) count as two characters, and a single emoji flips the whole message to UCS-2 (70-char limit).
A delivery receipt (DLR) is the status the carrier returns for each message. Reading them correctly is how you measure real reach β not just what you sent.
The lifecycle
Submitted β accepted by Relay/the provider.
Sent β accepted by the carrier (handed off).
Delivered β confirmed on the handset. β
β¦or a terminal failure: Failed, Rejected, Expired, or Unknown.
"Sent" β "Delivered". A message can be accepted by the carrier and still never reach the phone. Always measure on Delivered.
Common non-delivery reasons
Invalid or inactive number.
Handset off / out of coverage (message expires after the retry window).
DND / blocked, or sender ID not permitted on that network.
Content filtered, or insufficient balance.
Some routes deliver DLRs late or not at all β another reason route quality matters.
In Relay
Statuses surface in Message Explorer and in campaign performance; DLRs flow back internally over the messaging bus and can be exported for reconciliation.
Deliverability is getting the message to the handset β and in MENA it's as much about compliance as it is about routing. Regulators actively filter non-compliant A2P traffic.
The regulators
Each market has an authority that governs A2P SMS and sender IDs: KSA β CITC/CST, UAE β TDRA, Bahrain (TRA), Oman (TRA), Qatar (CRA), Kuwait. They mandate sender-ID registration, may replace or block unregistered IDs, and enforce consent and content rules.
DND & opt-out
Honour STOP / unsubscribe and maintain suppression lists. Relay stores opt-out state per contact and supports keyword opt-out, so unsubscribed customers are automatically excluded.
Quiet hours & Ramadan
Marketing SMS must respect legal quiet hours β e.g. roughly KSA 09:00β22:00, UAE 07:00β21:00, Qatar 08:00β21:00, with extra Ramadan sensitivity. Relay's quiet-hours engine holds sends until the allowed window opens in each recipient's timezone.
Content & links
Avoid prohibited/regulated content. Public URL shorteners are sometimes filtered β Relay uses its own ShortLink domain so links stay trusted and trackable.
Best practice β use both: WhatsApp as the primary engagement channel, SMS as the universal fallback and OTP workhorse. In Relay, automations can branch or fall back across channels automatically.