# Every sale in Telegram, with where it came from

Source: https://databull.app/stripe-sale-notifications-telegram
Updated: 2026-10-28 · Author: Ahmed Gagan (maker of DataBull)

> A Telegram message the moment someone pays: the amount, the product, and the tweet, search or campaign that brought them. Refunds, traffic spikes and a daily digest too, for Stripe, Polar, Dodo Payments and Creem.

**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

1. **Make a bot**
Message [@BotFather](https://t.me/BotFather) in Telegram, send `/newbot`, pick a name, and copy the token it gives you.
2. **Paste the token**
In DataBull, go to **Account → Telegram** and paste it. One bot covers all your websites.
3. **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.
4. **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](https://databull.app/stripe-revenue-analytics), [Polar](https://databull.app/polar-analytics), [Dodo Payments](https://databull.app/dodo-payments-analytics) and [Creem](https://databull.app/creem-analytics).

Want to know how the source gets attached to a payment? See [revenue attribution](https://databull.app/revenue-attribution) and the guide to tracking Stripe revenue by traffic source.

## FAQ

### Do I need to code a Telegram bot?

No. @BotFather creates the bot in a chat, and you only paste its token into DataBull. DataBull sends the messages from your own install.

### Do renewals send a message too?

Yes, marked 🔁 Renewal, credited to the source of the first payment. Refunds get their own ↩️ message.

### Can I turn alerts off for one website?

Yes. Sales, spikes and the digest are separate switches per website, and the digest hour is per website too.

### Does it show the customer's email?

Masked: the first two letters and the domain. The full details stay in your dashboard.
