Skip to Content
GuidesCommerceCommerce WebView

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

StrategyBest forHow it works
Hosted storeBusinesses without a websiteFull storefront on {brand}.actii.me — product listing, cart, checkout
Redirect to websiteBusinesses with an existing siteCart permalinks that deep-link into your website’s checkout
HybridAdvanced setupsBrowse 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.me

For personalized product links, use template variables:

We think you'll love this: https://sweet-truths.actii.me/p/croissant-box

For cart deep-links, append the ?step=cart query parameter — see 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=cart

The 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.

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