Short answer
DataBull sends a Telegram message for every Stripe, Polar, Dodo Payments or Creem sale, naming the source that brought the buyer (referrer, channel, campaign), their location and their journey. Create a bot with @BotFather, paste its token in DataBull under Account β Telegram, message the bot, and pick the chat. Refunds, spike alerts and a daily digest are switches per website.
What a sale message says
Most "Stripe to
Telegram" setups tell you that someone paid. DataBull tells you why: it knows the visit behind the payment.
- The sale: π° new sale or π renewal, the website, the amount, the product, and the buyer's own currency when it differs.
- The source: the referrer (x.com, google.com, chatgpt.comβ¦), its channel and the campaign, if any.
- The buyer: city and country, device, system and browser.
- The journey: when they first visited, how many sessions and pageviews, and the page they landed on.
- A masked email (ahβ’β’@example.com) and a link to the buyer's full journey in your dashboard.
When a sale can only be matched by checkout timing, the message says it's an estimate. When it can't be matched at all, it says the source is unknown, instead of guessing.
Set it up in two minutes
- Make a bot
Message @BotFather in
Telegram, send
/newbot, pick a name, and copy the token it gives you. - Paste the token
In DataBull, go to Account β
Telegram and paste it. One bot covers all your websites.
- Say hello
Send your new bot any message, or add it to a group. DataBull finds the chat; pick it and send a test message.
- Choose what you get
Per website: sale and refund messages, spike alerts, and the daily digest with the hour you want it.
Messages can go to up to 5 chats, say you and a co-founder. For a whole team, add the bot to a Telegram group.
More than sales
| Alert | When | What it says |
|---|---|---|
| β©οΈ Refund | A sale is refunded, fully or partly | Amount refunded, the original sale and its source. |
| π Traffic spike | Checked every 5 minutes: a source sends at least 10 visitors in an hour and 4Γ its usual (or the whole site 3Γ) | How many visitors from where, the page they land on and how many are online. Each source alerts at most once every 6 hours. |
| π Daily digest | Once a day, at the hour you choose | Yesterday's visitors and revenue against the day before, and the top 3 sources. |
Spikes need two days of history first, so a brand-new site stays quiet. A spike also leaves a note on your dashboard chart. When you connect a payment provider and its history imports, old sales don't flood your chat: only payments from the last few hours send a message.
Why the source changes what you do
A sale ping with its source is something you can act on right away. If three sales in an hour say x.com and the same campaign, the post is working: reply to the comments, pin it, post a follow-up while people are still reading. If a sale comes from a Google search you never targeted, that page deserves more work. And if a spike alert says Hacker News is sending 9Γ the usual traffic to a blog post, you know where to show up before the thread goes quiet.
Other ways to get
Stripe alerts
Stripe's Dashboard app can push a notification for new payments, disputes and a daily summary. It knows the payment, not the visit, so it can't name the post that sold.
- Zapier or Make can forward a
Stripe event to
Telegram. Same limit: the message holds what
Stripe knows (amount, customer, product), plus an automation account and a workflow to keep running.
- DataBull sends the message from the analytics side, so the source, campaign and journey come with it, for
Stripe,
Polar,
Dodo Payments and
Creem.
Want to know how the source gets attached to a payment? See revenue attribution and the guide to tracking Stripe revenue by traffic source.
Ask your AI agent, too
Every DataBull install has a built-in MCP server. One command connects Claude Code, Cursor, Codex, Windsurf or VS Code, and your agent answers "which post made me money?" from your own data. The same numbers are in your terminal and behind read-only API keys.
npx databull@latest mcp