Home·Playbooks·Telegram Ads for Ukrainian ecommerce: a practical playbook
UPLIFY Playbook · Telegram Ads

Telegram Ads for Ukrainian ecommerce: a practical playbook

12 min read· ~2479 words· published May 22, 2026

The official Telegram Ads materials describe both a self-serve flow whose destination can only be a channel or bot, and separate rules for websites. This playbook shows how to confirm the link type available in your own account first, and only then build the funnel, the copy and the measurement plan.

Where should a Telegram Ads campaign send people — to a channel, a bot or a website?

The official Telegram Ads materials describe both a self-serve flow whose destination can only be a channel or bot, and separate rules for websites. This playbook shows how to confirm the link type available in your own account first, and only then build the funnel, the copy and the measurement plan.

Telegram AdsTelegram Ad Platformспонсоровані повідомленняпублічні Telegram-каналиTelegram-ботAd Policies and GuidelinesCPMтаргетинг за унікальним посиланнямecommerce в Україніспонсируемые сообщенияпубличные Telegram-каналытаргетинг по уникальной ссылкеecommerce в Украинеsponsored messagespublic Telegram channelsTelegram bottargeting by unique linkecommerce in Ukraine
Contents 11

The first decision in Telegram Ads is not the ad copy or the channel list — it is the destination type actually available in your account, at your reseller, or in the specific interface you use to buy impressions. This is not a formality: the platform's official materials describe two sets of rules that differ in scope. The documented self-serve flow states plainly that sponsored messages are shown in public "one-to-many" channels and that all links in the ad lead to a Telegram channel or bot, with external websites not permitted as a destination in that flow (Telegram Ad Platform Explained). At the same time, the platform's current policies separately govern websites as a destination — with requirements for accessibility, the absence of a paywall or mandatory login, availability in the targeted locations, and a ban on redirects and cloaking (Ad Policies and Guidelines).

The practical takeaway is simple: do not carry the constraints of one flow over to every account, format and buying route. First confirm what is available to you, and only then design the funnel. We do not speculate here about why the rule scopes differ — we record only what the sources describe.

Two documented rule scopes

To avoid conflating them, keep the distinction in front of you.

Parameter Documented self-serve flow Website as the destination, where available
Placement Sponsored messages in public "one-to-many" channels Determined by your account or reseller — check in the interface
Destination Telegram channel or bot only; external websites are not permitted in this flow A web page subject to the accessibility rules in the Guidelines
Ad elements Title, Text, URL Check the set of fields in your own interface
Targeting Target channels by unique link; cannot be changed after creation Check the options available in your own interface
Documented statistics Creation date, CPM, budget, total views, a views chart together with joins or bot starts after viewing Not described in this list; record what your dashboard actually shows

The statistics list from the getting-started section applies correctly only to the documented self-serve flow. Beyond it, treat that list as non-exhaustive and do not assume in advance either joins and bot starts or any web data.

The decision point before you design the funnel

Before writing the offer, answer three questions in writing.

Which URL type does your interface accept? Check the available fields and link types and record the result in your working log. This is your actual access, not your hypothetical access.

Who is your counterparty? Buying directly on your own and working through a reseller can come with different sets of available options. Ask for written confirmation of which destinations and formats are available on your balance.

What do you already have ready? If only the Telegram flow is available and you have no channel or bot, prepare the destination first. If a website is available but the landing page cannot be viewed without a login, that is a blocker described in the policies (Ad Policies and Guidelines).

Until these three answers are recorded, your media plan rests on assumptions.

Branch 1: channel or bot in the documented flow

The funnel here has three links: readers of the selected public channel see the sponsored message → the person moves through to your channel or bot → from there, whatever you have prepared yourself takes over. The platform documents the first link and part of the second; the third is your own process.

Channel or bot

A channel makes sense when your next step is regular content: product selections, new arrivals, answers to common questions, service announcements. You gain an audience you can return to.

A bot makes sense when an action is needed here and now: size selection, stock checks, consultation requests. A bot provides structured interaction, but someone has to genuinely answer the non-standard enquiries.

A combination is possible: the channel as the destination, with a clear route inside it to a bot or a manager. But the link in the ad leads to one place only.

Destination readiness

These requirements are set out in the policies; they are not suggestions (Ad Policies and Guidelines):

  • the channel or bot has a profile picture and a meaningful description that makes clear who you are and what you offer;
  • the destination is functional and active: the channel has current posts, the bot starts and responds;
  • there are no redirects and no masking — the link takes the person exactly where it says;
  • link shorteners are not used;
  • if the text contains a text link, it leads to the same place as the URL field;
  • the language of the destination matches the language of the target channels.

That last point is practical for the Ukrainian market: if you are targeting Ukrainian-language channels, it is logical to keep both the ad and the destination content in Ukrainian.

Target channels and unchangeable targeting

The advertiser enters target channels by unique link (Target Specific Channels). Selection is therefore manual analytical work, and the list itself is a separate hypothesis worth recording in writing.

Start with topical context: a channel adjacent to your category is worth testing separately from a large general-interest one. Open every channel by hand — read the current posts, check whether it is active, whether it is overloaded with advertising, whether the content matches the name. Group channels by selection logic and do not mix "direct interest in the category" with "adjacent interest" in a single ad: otherwise the statistics will not let you separate those assumptions.

An ad is created from a Title, Text and URL, and targeting parameters cannot be changed after creation — to test different targeting, you need to create a similar ad (Telegram Ad Platform Explained). Hence the operating rule: lock targeting down before creation and leave the rest for iteration. Text and URL can be edited, CPM can be changed, budget can be increased. In practice, the ad works as a container for targeting with a movable creative inside it.

What the statistics will tell you

In this flow, the documented metrics are creation date, CPM, budget, total views, and a views chart together with channel joins or bot starts after viewing. That is the limit of the statistics described in getting-started. Sales, revenue, end-to-end attribution or a person's behaviour after subscribing are not documented in that list, and you should not assume they are available.

Branch 2: a website as the destination, where it is available

If your account or reseller genuinely allows you to send traffic to a web page, the funnel looks like this: ad → an accessible landing page that complies with the policies → your usual sales process. Vetting the page itself then becomes critical, because the policies explicitly list grounds for rejection (Ad Policies and Guidelines).

Check before submitting:

  • the site is live, the domain has not expired, the page opens without errors;
  • the content is not behind a paywall and does not require a login to view what the ad promises;
  • the page is accessible in the locations you are targeting — geo-restrictions or blocking make the destination unusable;
  • there are no redirects or cloaking, including deceptive forwarding: the address in the ad and the actual page must match;
  • there are no shorteners, and the text link and the URL field lead to the same place.

Open the link in a clean browser with no saved sessions and, where possible, under conditions close to the target location. If viewing requires a login, or the page forwards somewhere else, that is a blocker.

On measurement specifically: do not attribute web conversions in the ad dashboard to this branch, nor subscriptions or bot starts. Record what your interface actually shows and work only with that.

Copy framework and pre-moderation checks

The copywriting constraints from the policies apply in both branches. Maximum text length is 160 characters. The text must be clear and grammatical. Decorative devices are restricted: unusual capitalisation, odd spacing, decorative symbols, emoji, line breaks and bulleted lists in the ad text. Misleading and absolute claims are prohibited — "the best prices in Ukraine" or "a promised result" are not worth attempting (Ad Policies and Guidelines).

A three-element structure fits within 160 characters.

Who or what — the category, without vague wording: not "homeware" but "ceramic planters" or "cat carriers".

Why it is useful — a specific, verifiable attribute: range, availability, service, delivery coverage, narrow specialisation. Phrase it so that the content of the destination backs it up.

The next step — a direct, honest description of what happens after the click. Do not promise what the destination does not contain.

Common mistakes: promising a discount that does not exist at the destination; mentioning a website as the place to buy when the link leads into Telegram; listing many categories instead of one clear one; trying to squeeze delivery, payment and warranty into a single line.

A short pre-submission check: the text fits within 160 characters and reads as a normal sentence; there are no emoji, decorative symbols, line breaks or lists; there are no absolute or misleading claims; the URL matches the destination type available in your account; there is no shortener, and the text link and the URL field match; the destination works — with a profile picture and description for a channel or bot, or with an accessible page for a website; the language of the ad and the destination matches the language of the target channels. These checks are not a complete list of policies — they remove the obvious mismatches before submission.

A measurement plan for each branch separately

In branch 1, work with the documented list of metrics and additionally record the baseline state of channel subscriptions or bot activity before impressions start — that gives you a basis for comparing later observations.

In branch 2, assume nothing: open your dashboard's reporting, write out the metrics that are actually present, and record what is missing. Everything that happens on the site afterwards is your own record-keeping, which needs to be described and verified separately. That is not a function of the ad dashboard, and this material does not attribute it to Telegram Ads.

Common to both branches: a join, a bot start or a visit is an observation in a report, not proof that a particular ad caused a particular action. People may arrive from other sources too. "While the ad was running, the report showed more joins" is a more accurate formulation than "the ad delivered this many customers".

Comparing hypotheses without causal claims

Because targeting is unchangeable in the self-serve flow, comparison happens between separate ads. For it to be meaningful, keep the remaining conditions stable: a comparable period, similar text, the same destination type.

What to record Why
The targeting hypothesis — the channel set and the selection logic So you know exactly what is being tested
The destination type and confirmation that it is available in the account So you do not blend different branches into one conclusion
The run period So you do not blend in seasonal and event-driven spikes
The text and URL as they stood during the period Text is editable, so without a record the history is lost
CPM and budget They are changed manually and are tied to impression volume
The documented metrics for the period The basis for comparison within the dashboard
Parallel business activity So you can see alternative explanations for changes

The decision rule: a repeatable difference in the documented metrics can be used as a signal for the next iteration, provided conditions were comparable and there was no obvious parallel event. That does not turn an observation into a proven causal effect.

Go / No-Go for the two branches

Conditions common to both: you have written confirmation of which destination type is available in your account or at your reseller; the next step after the click is defined and resourced; the text fits within 160 characters with no emoji, decorative symbols or absolute claims; links contain no shorteners or redirects, and the text link and URL match; the language of the ad and the destination matches the target channels; the target channel list has been compiled by hand and reviewed; hypotheses are split across separate ads; the baseline state and the method for tracking enquiries outside the dashboard have been recorded.

Additionally for branch 1: the channel or bot exists, is active, and has a profile picture and a meaningful description; the channel has current posts or the bot responds.

Additionally for branch 2: the page opens without a login or paywall, is accessible in the target locations, does not redirect and does not show different content to different visitors; the list of metrics available in the dashboard has been recorded.

If the destination type is unconfirmed, there is no working destination, or the URL does not comply with the policies — that is a No-Go, not a "we'll sort it out as we go".

What evidence is missing for a profitability conclusion

Ad dashboard data is not sufficient for such a conclusion in either branch. To talk about profitability, you need a verifiable link between the ad interaction and the subsequent order, plus an understanding of the contribution of other sources. The official Telegram Ads documentation does not describe such a link and does not set a universal evaluation window.

If other advertising, mailings or publications are running in the same period, attributing the result to one channel is incorrect. So evaluate the campaign first against what is documented for your branch, and postpone the ROI conversation until the business has separately confirmed the link to orders and accounted for alternative explanations. Until then, any profitability figure will be an assumption, not a measurement.

Final checklist

  1. Confirm with your account or reseller which destination type is available, and record that confirmation.
  2. Choose the branch and describe the next step after the click, along with who owns it.
  3. Prepare the destination to meet the requirements of your branch.
  4. Compile and manually review the list of target channels, grouping them by hypothesis.
  5. Write the title and text within 160 characters, without decorative devices or absolute claims.
  6. Create a separate ad for each targeting hypothesis, remembering that targeting is unchangeable.
  7. Pass moderation, correcting the text or the destination if required.
  8. Record the baseline state and the actual list of available metrics.
  9. Keep a log of changes to text, CPM, budget, and start and stop dates.
  10. Check whether observations repeat, and launch the next iteration through a similar ad.
Request audit