Everything that happens behind the button.
Waroi puts the WhatsApp button, converting widgets, campaign analytics, ad pixels and conversion uploads to Google Ads and Meta into one tool. This page explains each piece.
Six widgets. One primary.
Each button has a base plus the widgets you choose. One is primary and opens on click; if none is chosen, the click goes straight to WhatsApp. The others appear by rules or from another widget.
- Chat: agent photo, name and status, greeting and quick replies.
- Blocks: option menu (sales, support, branches) with a different number for each.
- Proactive: a message that pops up on its own to start the conversation.
- Callback: short form; the data lands in Contacts.
- Products: catalog with prices and images people ask about on WhatsApp.
- AI bot: answers and hands the conversation to your team.
The right message, at the right moment.
Decide when and to whom each widget shows. One message for people coming from an ad, another for whoever has spent a minute on the pricing page, another for those about to leave.
- Triggers: delay, time on site, scroll %, exit intent, hover or click on an element, or a specific page
- Frequency: once per session, once per visitor or on every page
- Audience: included or excluded pages, device, OS, browser and referrer
- Traffic: new or returning visitors, ad traffic only or by UTM
- Business hours by day and time, in your time zone
Where conversations come from.
Each button has its own dashboard with impressions, visitors, clicks and conversions, compared with the previous period and in your time zone.
- 14 dimensions: channel, source, campaign, keyword, ad, referrer, page, country, device, OS, browser, language, agent and goal
- Real-time visitors
- Consistent metrics: impressions ≥ visitors ≥ conversions
- History from 30 days to 24 months depending on plan
Sample data
Your pixels, no code needed.
Add your pixels in Waroi and every click, form or conversation is sent as an event to the platform. For Meta, GA4 and TikTok it is also sent from the server, so ad blockers and browser restrictions don't eat your data.
The sale closes on WhatsApp. The ad finds out.
This is why Waroi exists. When a sale closes on WhatsApp, Waroi links it to the original click and sends it to the platform, so the algorithm finds more people like your buyers.
- Stores gclid, fbclid and UTMs in first-party domain cookies
- Google Ads: connects to your account and uploads offline conversions through Google's Data Manager API
- Meta: Conversions API with an event ID so nothing is counted twice
- WordPress plugin to attribute WooCommerce orders and bookings
- Webhooks for your CRM or automations
Let the data pick the message.
Test two versions of the button or greeting at the same time. Waroi splits the traffic, measures each conversion rate and shows you the winner.
“Questions? Message us”
3.1%“Can I help you pick your size?”
5.4%Sample data
No lead gets lost.
Widget forms land in Contacts with page, source and campaign. And the catalog syncs from your store to show products inside the button.
- Contacts with each person's source and campaign
- Catalog from WooCommerce, Shopify or your own JSON with field mapping
- Several agents per button, each with their own number
Sample data
Instant answers, human closing.
The bot uses state-of-the-art language models (Claude, by Anthropic) with your business information and catalog. It solves common questions and, when it detects buying intent, hands the conversation to WhatsApp with a summary.
- Answers with your products, prices and policies
- Hands over to a human on WhatsApp
- Monthly conversation limit per plan
Light by design. Fast for your SEO.
The widget core weighs about 7 KB compressed and has no library dependencies. It loads asynchronously and each widget downloads only when needed, so it doesn't hurt your site's Core Web Vitals.
Technical questions.
What counts as an “event”?
What happens if I hit the event limit?
What is a Google Ads offline conversion?
Can I use Waroi with Google Tag Manager?
Does it respect visitor privacy?
Waroi.consent() from your banner.