Commerce WebView
The Commerce WebView is a mobile-optimized storefront hosted by Active Reach. Link it from WhatsApp messages, SMS, or email — contacts browse your catalog, add items to cart, and checkout without leaving the chat-adjacent experience.
Three strategies
| Strategy | Best for | How it works |
|---|---|---|
| Hosted store | Businesses without a website | Full storefront on {brand}.actii.me — product listing, cart, checkout |
| Redirect to website | Businesses with an existing site | Cart permalinks that deep-link into your website’s checkout |
| Hybrid | Advanced setups | Browse on the hosted store, checkout on your website |
Configure your strategy in Settings → Commerce → Store Mode.
Hosted store features
- Product pages — images, descriptions, pricing, variants, stock status
- Cart — add/remove items, quantity adjustment, coupon application
- Checkout — contact info, delivery address, payment (via Razorpay or Stripe)
- Order confirmation — summary page + automatic WhatsApp/SMS receipt
- Mobile-optimized — designed for in-chat browsing on small screens
- Branding — your logo, colors, and store name
Linking from messages
In campaigns and journey send nodes, use the store URL as a CTA:
Browse our menu: https://sweet-truths.actii.meFor personalized product links, use template variables:
We think you'll love this: https://sweet-truths.actii.me/p/croissant-boxFor cart deep-links, append the ?step=cart query parameter — see SPA cart and deep-links.
SPA cart and deep-links
The storefront is a single-page app. The cart is SPA state, not a route — /cart returns 404. Deep links use ?step=cart:
Forgot something? Come back to your cart: https://sweet-truths.actii.me/?step=cartThe cart drawer opens in place on mount, with no full-page reload — the customer doesn’t re-see the location picker or lose scroll position. The same pattern applies to ?step=checkout and other drawers.
Every step transition fires aegis.screen('storefront.<step>') from the SDK (≥ 1.13.0), which the platform canonicalises to engagement.screen_view. Don’t also call aegis.page() for these SPA transitions — the screen event is the canonical signal for SPA navigation.
Back-in-stock waitlist
A product detail page that’s out of stock renders a Notify me when back button. The SDK records the customer’s interest:
aegis.ecommerce.productWaitlisted({
product_id: 'sku_123',
channel: 'whatsapp',
});When inventory returns, the stock-event handler worker fans out to every waitlisted contact in the trailing 90 days. The notification respects the contact’s channel preferences (email / sms / whatsapp / webpush). The operator-side journey is wired up like any other event-triggered playbook.
Shopify-hosted stores can opt into the same button via a Liquid snippet that injects the SDK call from the existing PDP.
Cookie consent and channel opt-in
When a customer accepts marketing cookies, the storefront mirrors the choice to the CDP via aegis.user.setOptIn(channel, granted) for email, sms, whatsapp, and webpush. This keeps the consent state on the contact graph — segmenters, journey channel pickers, and DPDP audit all see it without having to read browser localStorage.
JSON-LD and AI discoverability
Every storefront emits three layers of structured data — Organization and LocalBusiness at the brand and outlet roots, and Product on each product detail page. This makes the store readable not just by Google and Bing but by generative-AI search engines (Perplexity, Gemini, ChatGPT, Google AI Overviews).
To see exactly what AI crawlers ingest from your store — and the easiest fixes to boost visibility — open Active Commerce → Discoverability in the dashboard, or read the dedicated AI discoverability guide.
What’s next
- AI discoverability — make your store readable to Perplexity, Gemini, ChatGPT
- Product catalog — manage what appears in the store
- POS integration — connect offline sales