Keep your users in the loop
Your marketing team creates in-app messages from a dashboard. Your devs drop in a lightweight SDK. Everyone sees the analytics.
Everything you need to engage your users
A complete toolkit for in-app messaging — from creation to analytics.
In-App Messages
Create and manage messages from a simple dashboard. Your marketing team writes the copy, picks a status, and hits publish.
Slots & Placements
Devs define display locations (slots) in the app. Marketing decides which messages go where — no code changes needed.
A/B Testing
Create variants with weighted distribution. Test different copy and measure what works best.
Real-Time Analytics
Track impressions, clicks, dismissals and CTR. See performance by message, slot, or across the whole project.
Lightweight SDK
A React hook that fetches your messages. A few lines of code, no heavy dependencies, works with any setup.
How it works
Three steps to start reaching your users where they already are.
Devs set up slots
Create a slot in the dashboard and add the SDK hook to your app. That's the only code you'll write.
Marketing creates messages
Write your message, pick a slot, set the status. Add variants if you want to A/B test.
Users see it, you measure it
Messages show up in your app instantly. Impressions, clicks, and CTR flow back to the dashboard.
Get started in minutes
Wrap your app with the provider, use the hook wherever you need messages.
import { LoopanaProvider, useSlot } from '@loopana/react'
function App() {
return (
<LoopanaProvider apiKey="pk_live_xxx">
<YourApp />
</LoopanaProvider>
)
}
function ChatPage() {
const { message } = useSlot("chat-banner")
if (!message) return null
return (
<div>
<h3>{message.title}</h3>
<p>{message.body}</p>
</div>
)
}Ready to keep your users in the loop?
Free while in beta. Set up in minutes, no credit card required.
Start for free