---
metadata:
  - name: generator
    content: Diplodoc Platform v5.52.0
alternate:
  - https://yandex.com/support/adfox/en/ad-inventory/telegram.md
  - https://yandex.com/support/adfox/ru/ad-inventory/telegram.md
  - href: en/ad-inventory/telegram.md
    type: text/markdown
    title: Markdown version
  - href: ../llms.txt
    type: text/markdown
    title: llms.txt
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/support/adfox/en/llms.txt

# Ads in Telegram channels (β)

{% note info %}

The Adfox functionality for Telegram channels allows you to place only direct sales ads (you must have a placement agreement with an advertiser or an agency). Adfox doesn't assist in finding advertisers. For automated ad selection from Yandex Direct advertisers, use the [Yandex Advertising Network](https://yandex.com/support2/partner/en/telegram/about).

{% endnote %}

## How it works {#how-it-works}

To serve ads from Adfox, add your channel to the [Yandex Advertising Network interface](https://yandex.com/support2/partner/en/telegram/about) and allow a special bot to publish posts in your channel. The bot publishes ads in the time intervals you specified in the channel settings in the Yandex Advertising Network interface.


{% note info %}

Direct sales ads are shown regardless of the channel's moderation results in the Yandex Advertising Network.

{% endnote %}


Ads placed as part of direct sales take priority over ads from the Yandex Advertising Network:

1. Ads from Adfox are selected first, taking into account the campaign settings, like campaign period, impression limits, and targeting by frequency and time.
1. If no ads are selected in Adfox, the algorithms serve ads from the Yandex Advertising Network.

If necessary, ads from the Yandex Advertising Network can be restricted (using the CPM floor), blocked, or [disabled](#desable).


## What ads look like {#view}

![](../_images/tg-example.png)

An ad looks like an ordinary post in a Telegram channel and contains:

1. Image or video.
1. Clickable title.
1. Post text.
1. Action button.
1. Labeling.


## Connecting direct sales in Telegram channels {#enable}

### Step 1. Add and set up your channel in the Yandex Advertising Network interface {#step-1}

1. Log in to your [Yandex Advertising Network](https://partner.yandex.com/) account.
    
    {% cut "If you don't have a YAN account" %}
    
    1. Log in with your [Yandex ID](https://passport.yandex.com/) or [register a new account](https://yandex.com/support/passport/authorization/registration.html).
    
    1. On the [Adfox home page](https://adfox.yandex.com/promo), click **Sign in**.
    1. Fill out the [application](https://yandex.com/support2/partner/en/joining/application-form#application-form__application) and click **Submit**. You get access to the Yandex Advertising Network and Adfox interface.
    
    {% endcut %}
    
1. Follow the [instructions](https://yandex.com/support2/partner/en/telegram/about#enable-ads) to add the Telegram channel.
    
1. Select the appropriate time intervals for the Telegram bot to publish ad posts in the channel.
    
1. Enable the **Connect Adfox** option. In the Adfox interface, an advertising inventory (site, section, and placement) will be created for this channel.
1. Click **Next**.
    

### Step 2. Add the Yandex Advertising Network bot {#step-2}

1. In the window that opens, wait for the Yandex Advertising Network to select a bot for your channel. Follow the link to the bot.
1. Open the bot description. Click **Add to Group or Channel** and select your channel.

    {% cut "If you only see the Add to Group button" %}    
    
    Go to the mobile app or do the following in the desktop version:

    1. Copy the bot name from the **Username** field.
    1. Go to your channel.
    1. Press **Manage Channel** → **Administrators** → **Add Administrator**.
    1. Paste the copied bot name into the search bar.

    {% endcut %}

1. A window with permission settings opens: allow the bot to post messages in the channel and save changes.
1. In the Yandex Advertising Network interface, click **Complete**.

This will make the channel appear:

- On the **Ads in messaging apps** tab in the Yandex Advertising Network interface.
- On the **Inventory** tab in the Adfox interface.

### Step 3. Create and place an advertising campaign in Adfox {#step-3}

Go to Adfox and add a campaign by following our [instructions](https://yandex.com/support/adfox/en/campaigns/add-new.md). Make sure to specify the following settings:

- **Campaign type**: **Guarantee**.
- **Campaign name**.
- **Advertiser**.
- **Status**: **Active**.
- **The method of counting impressions**: Select which event should be counted as an impression:

    - **Banners load**: When a banner is picked from this campaign and displayed in the Telegram channel.
    - **Post views (Telegram)**: Ad post views recorded by the Yandex Advertising Network bot.
    
- **Total impressions, day, hour**: The maximum number of impressions within this campaign in the given time window. Note that the number of impressions must be specified taking into account the method of counting impressions, for example:

    - If you set **Total impressions** to `2000` in a campaign with the **Banners load** count method, your ad post will be published in the specified time slots until the banner loads 2000 times.
    - If you set **Total impressions** to `2000` in a campaign with the **Post views (Telegram)** count method, your ad post will be published in the specified time slots until it reaches 2000 views on Telegram. The post will be deleted from the channel 46–48 hours after publication, even if it reaches the required number of views earlier. If the target is reached after the first post, the ad will no longer be shown on the channel.
    
    {% note warning %}
    
    To properly set up ad impressions in Telegram channels, see our [recommendations for placing direct sales](#tips).
    
    {% endnote %}
    
- **Campaign period**.
- Labeling settings:
    
    - **Marking procedure**:

      - **Submit data to state register**: Select this option to get a token and transfer data to the Russian state register (ERIR) [via the Adfox interface](https://yandex.com/support/adfox/en/labeling/token.md). The `erid` parameter will be added to the click-through URL.
      - **Do not submit data to state register**: If at least one of the following is true:

        - You don't have a direct contract for placing ads with contractors.
        - Ads will be displayed outside of Russia.
        - You place a token in a creative on your own and transfer data to the Russian state register via a different advertising data operator.
    
    - **Advertiser Information**: specify the advertiser's legal name and details.
    
- **Placement**: Find and select the Telegram channels where you want to run the created campaign.
- **Targeting**: Set the campaign targeting criteria.

    <!-- source: en/_includes/telegram/targeting.md -->
    {% note alert %}

    With Telegram campaigns, you can only target [by frequency](https://yandex.com/support/adfox/en/targeting/frequency.md) and time ([by day of the month](https://yandex.com/support/adfox/en/targeting/time.md#section_frq_fn4_mfb) and [by days of the week/hours](https://yandex.com/support/adfox/en/targeting/time.md#section_drq_fn4_mfb)).

    When setting up frequency-based targeting, keep in mind that a unique user will be a Telegram channel, not a channel user. For example, if you set an impression frequency of twice a week for your campaign, ad posts in each channel where this campaign is running aren't published more than twice a week. Each user of the channel can view ad posts an unlimited number of times.

    {% endnote %}
    <!-- endsource: en/_includes/telegram/targeting.md -->
    

### Step 4. Add banners to the campaign {#step-4}

1. In the campaign you created, go to the **Banners** tab and click **Create**.
1. Then select:
    
    - **Banner type**: **Telegram banner**.
    - **Template**: You can create posts that contain images, videos, or only text. Select the appropriate template:

      - **Post with image and text**
      - **Post with video and text**
      - **Text-only post**
    
1. Fill out the fields in the **Content** section:
    
    {% list tabs %}
    
    - For a post with an image
    
      - **Image**: Add a GIF, PNG, JPG, or JPEG image for your ad post. Links to third-party resources are not supported.
      - **Header**: Post title (clickable).
      - **Post text**: Post text. Maximum number of characters: 764. To add more text, use the **Text-only post** template.

        In addition to text, the field supports:
            
        <!-- source: en/_includes/telegram/telegram-banner.md -->
        {% cut "Inline HTML elements" %}

        **Template markup** | **Display in the post**
        ----- | -----
        `<b>bold</b>` | **bold**
        `<i>italic</i>` | _italic_
        `<code>val a=10;</code>` | `val a=10;`
        `<s>strike</s>` | <line-through >strike</line-through>
        `<u>underline</u>` | <u>underline</u>

        {% endcut %}

        {% cut "Links" %}

        Sample link markup:

        `<a href='https://adfox.yandex.ru/'>Link text</a>`.

        Clicks on such links are not counted in the statistics (unless you set up a special macro for event tracking).

        Available macros:

        {% cut "%banner.reference_mrc_user5%" %}

        Can be used to add a link from the **Transition URL** field to the post text.

        In the example below, an impression will occur with the `%banner.reference_mrc_user5%` variable being replaced with the `https://adfox.yandex.ru` link:

        ![](../_images/macros-example.png)

        {% endcut %}

        {% cut "%request.reference_mrc%@%banner.eventN%" %}

        Can be used to add several different links and track clicks on each of them:

        1. Add links to the post text using HTML markup:
            ```html
            <a href="http://site.ru">First link</a>
            <a href="http://site.ru/about/">Second link</a>
            ```
        1. Replace the `href` attribute values with the `%request.reference_mrc%@%banner.eventN%` variables, where `N` is the event number from 1 to 28:
            ```html
            <a href="%request.reference_mrc%@%banner.event1%">First link</a>
            <a href="%request.reference_mrc%@%banner.event2%">Second link</a>
            ```
        1. After saving, go to the **Events** tab in the banner settings and set the correspondence between the links and events:
            ![](../_images/events-tab.png)

        {% endcut %}

        {% endcut %}
        <!-- endsource: en/_includes/telegram/telegram-banner.md -->

    
    - For a post with a video
    
      - **Video**: Add an MP4 video for your ad post. Links to third-party resources are not supported.

        <!-- source: en/_includes/telegram/telegram-banner.md -->
        {% note info %}

        To increase the likelihood of your video autoplaying for the user, avoid adding videos larger than 10 MB.

        {% endnote %}
        <!-- endsource: en/_includes/telegram/telegram-banner.md -->

      - **Header**: Post title (clickable).
      - **Post text**: Post text. Maximum number of characters: 764. To add more text, use the **Text-only post** template.

        In addition to text, the field supports:

        <!-- source: en/_includes/telegram/telegram-banner.md -->
        {% cut "Inline HTML elements" %}

        **Template markup** | **Display in the post**
        ----- | -----
        `<b>bold</b>` | **bold**
        `<i>italic</i>` | _italic_
        `<code>val a=10;</code>` | `val a=10;`
        `<s>strike</s>` | <line-through >strike</line-through>
        `<u>underline</u>` | <u>underline</u>

        {% endcut %}

        {% cut "Links" %}

        Sample link markup:

        `<a href='https://adfox.yandex.ru/'>Link text</a>`.

        Clicks on such links are not counted in the statistics (unless you set up a special macro for event tracking).

        Available macros:

        {% cut "%banner.reference_mrc_user5%" %}

        Can be used to add a link from the **Transition URL** field to the post text.

        In the example below, an impression will occur with the `%banner.reference_mrc_user5%` variable being replaced with the `https://adfox.yandex.ru` link:

        ![](../_images/macros-example.png)

        {% endcut %}

        {% cut "%request.reference_mrc%@%banner.eventN%" %}

        Can be used to add several different links and track clicks on each of them:

        1. Add links to the post text using HTML markup:
            ```html
            <a href="http://site.ru">First link</a>
            <a href="http://site.ru/about/">Second link</a>
            ```
        1. Replace the `href` attribute values with the `%request.reference_mrc%@%banner.eventN%` variables, where `N` is the event number from 1 to 28:
            ```html
            <a href="%request.reference_mrc%@%banner.event1%">First link</a>
            <a href="%request.reference_mrc%@%banner.event2%">Second link</a>
            ```
        1. After saving, go to the **Events** tab in the banner settings and set the correspondence between the links and events:
            ![](../_images/events-tab.png)

        {% endcut %}

        {% endcut %}
        <!-- endsource: en/_includes/telegram/telegram-banner.md -->


    - For a text-only post

      - **Header**: Post title (clickable).
      - **Post text**: Post text. Maximum number of characters: 3830. In addition to text, the field supports:
        
        <!-- source: en/_includes/telegram/telegram-banner.md -->
        {% cut "Inline HTML elements" %}

        **Template markup** | **Display in the post**
        ----- | -----
        `<b>bold</b>` | **bold**
        `<i>italic</i>` | _italic_
        `<code>val a=10;</code>` | `val a=10;`
        `<s>strike</s>` | <line-through >strike</line-through>
        `<u>underline</u>` | <u>underline</u>

        {% endcut %}

        {% cut "Links" %}

        Sample link markup:

        `<a href='https://adfox.yandex.ru/'>Link text</a>`.

        Clicks on such links are not counted in the statistics (unless you set up a special macro for event tracking).

        Available macros:

        {% cut "%banner.reference_mrc_user5%" %}

        Can be used to add a link from the **Transition URL** field to the post text.

        In the example below, an impression will occur with the `%banner.reference_mrc_user5%` variable being replaced with the `https://adfox.yandex.ru` link:

        ![](../_images/macros-example.png)

        {% endcut %}

        {% cut "%request.reference_mrc%@%banner.eventN%" %}

        Can be used to add several different links and track clicks on each of them:

        1. Add links to the post text using HTML markup:
            ```html
            <a href="http://site.ru">First link</a>
            <a href="http://site.ru/about/">Second link</a>
            ```
        1. Replace the `href` attribute values with the `%request.reference_mrc%@%banner.eventN%` variables, where `N` is the event number from 1 to 28:
            ```html
            <a href="%request.reference_mrc%@%banner.event1%">First link</a>
            <a href="%request.reference_mrc%@%banner.event2%">Second link</a>
            ```
        1. After saving, go to the **Events** tab in the banner settings and set the correspondence between the links and events:
            ![](../_images/events-tab.png)

        {% endcut %}

        {% endcut %}
        <!-- endsource: en/_includes/telegram/telegram-banner.md -->

    {% endlist %}

      <!-- source: en/_includes/telegram/telegram-banner.md -->
      - **Action button**: Link text to promote the advertised product or service at the end of the post.
      - **Transition URL**: Enter the link to the advertised product or service.
      - **Delete post**: Set to `true` by default, meaning the ad posts are deleted from the channel 46–48 hours after publication.

          You can prevent autodeletion by setting the value to `false`. In this case, the statistics will reflect:

          - Post views (Telegram): Only for the first week.
          - Clicks: All clicks for as long as the campaign and banner are **Active**.
      <!-- endsource: en/_includes/telegram/telegram-banner.md -->

2. <!-- source: en/_includes/telegram/telegram-banner.md -->
   If required, add the “Advertising/Social advertising” label and advertiser information:
       
   - From the **Ad label** list, choose `Advertising` or `Social advertising` to add the appropriate label to the advertising post. If your image or video design already contains a label, leave the **Disable** value in the drop-down list.

   - In the **Domain** field, enter the advertiser's domain. It will be added along with the “Advertising” or “Social advertising” label (but only if one of these labels is enabled).

   - To display the advertiser information, enable the **Show banner menu** option. This adds the advertiser information to the ad post.

   - If the creative has already been assigned a token via a third-party advertising data operator, provide it in the **Third-party token** field. The token will be added to the click-through URL as an `erid` parameter.
   <!-- endsource: en/_includes/telegram/telegram-banner.md -->
   
3. <!-- source: en/_includes/telegram/telegram-banner.md -->
   If you label ads via Adfox, fill in the **Marking** block. The token will be added to the click-through URL as an `erid` parameter:
       
   ![](../_images/tg-erid.png =300x)

   For more information about registering ad creatives in Adfox, see the [instructions](https://yandex.com/support/adfox/en/labeling/token.md#step-5).
   <!-- endsource: en/_includes/telegram/telegram-banner.md -->
    
4. Save the changes.


## Recommendations for placing direct sales in Telegram channels {#tips}

When advertising direct sales, keep in mind that Adfox ads are served in the time intervals you've set in the channel settings in the Yandex Advertising Network interface. For example, if three time intervals are selected in the settings, the bot will request ads from Adfox three times a day.

{% note info %}

We recommend setting the campaign start time to 10–15 minutes before the time slot specified in the channel settings. You need this extra time to ensure that the campaign is active in Adfox, because the bot may start requesting ads right at the beginning of the time slot.

{% endnote %}

Choose one of the following options for ad placement:

- To schedule ads based on specific time slots, go to the **Custom settings for Adfox** section.
- To cap the number of ad posts per week, go to the **General limits for Adfox and the Yandex Advertising Network** section.

{% list tabs %}

- Custom settings for Adfox
    
     
    To publish Adfox ads in time slots selected in the channel settings, leave the **Apply a restriction for Adfox posts** option disabled. This ensures that the **Maximum number of posts per week** setting does not cap your Adfox post frequency.

    Sample served publications:

    ![scheme-1](../_images/tips-tg-1.svg)

    To prevent excessive publication of the same ad post, consider doing one of the following at campaign setup: 

    {% cut "Limit the campaign period" %}

    In the **Campaign period** field of the campaign settings, specify a particular day or time interval when the ad can be published in the channel.

    {% endcut %}

    {% cut "Limit the campaign impression frequency in all channels" %}

    In the **Impressions per day** field of the campaign settings, specify the maximum number of impressions per day. For example, if you set `2` in this field, the campaign will be displayed no more than two times per day.

    {% endcut %}

    {% cut "Limit the campaign impression frequency in a particular channel" %}

    You can limit the impression frequency at the placement level using limits or targeting:

    {% list tabs %}

    - Using limits

        When creating or editing a campaign, in the **Placement** section:

        1\. Click **Open to full screen**.
        2\. Find the channel in the list and specify the maximum number of impressions in the **Limits total, day, hour** fields.

        Once the set limit is reached, the campaign impression in this channel is paused until the next day/hour or stopped completely (if the **Total limits** setting is specified).

    - Using targeting

        When creating or editing a campaign, in the **Placement** section:

        1\. Find the channel and click ![](../_images/controls-settings.svg) next to its name. This opens the placement settings.
        2\. 
        
        <!-- source: en/_includes/campaigns/placement/profile-settings-1.md -->
        1\. Select the **Custom** targeting profile. 

        2\. Without closing the placement settings window, click ![](../_images/controls-settings.svg) next to the **Targeting profile** field. 

        3\. A new tab opens with targeting settings at the campaign placement level. Enter and save the settings.

        4\. Go back to the targeting profile selection tab and click **Save**.
        <!-- endsource: en/_includes/campaigns/placement/profile-settings-1.md -->

        <!-- source: en/_includes/telegram/targeting.md -->
        {% note alert %}

        With Telegram campaigns, you can only target [by frequency](https://yandex.com/support/adfox/en/targeting/frequency.md) and time ([by day of the month](https://yandex.com/support/adfox/en/targeting/time.md#section_frq_fn4_mfb) and [by days of the week/hours](https://yandex.com/support/adfox/en/targeting/time.md#section_drq_fn4_mfb)).

        When setting up frequency-based targeting, keep in mind that a unique user will be a Telegram channel, not a channel user. For example, if you set an impression frequency of twice a week for your campaign, ad posts in each channel where this campaign is running aren't published more than twice a week. Each user of the channel can view ad posts an unlimited number of times.

        {% endnote %}
        <!-- endsource: en/_includes/telegram/targeting.md -->

    {% endlist %}

    {% endcut %}


    {% cut "Limit the impression frequency for all campaigns in a particular channel" %}

    1\. Go to the **Inventory** tab. Select the channel and go to the placement settings: **Sections** → **Placements**.
    2\. Open the placement settings.
    3\. Specify the maximum ad impression frequency in the channel:
        1\. In the **Number of impressions per period** field, specify the maximum number of ad posts.
        2\. In the **For period** field, select a period.

    4\. Save the changes.

    {% endcut %}

    {% cut "Set targeting by time: by days of the week/hours or by day of the month" %}

    In the campaign parameters, add targeting by time: [by days of the week/hours](https://yandex.com/support/adfox/en/targeting/time.md#section_drq_fn4_mfb) or [by day of the month](https://yandex.com/support/adfox/en/targeting/time.md#section_frq_fn4_mfb).

    {% endcut %}


- General limits for Adfox and the Yandex Advertising Network
    

    To limit the overall frequency of ad posts in the channel for both Adfox and the Yandex Advertising Network, in the channel settings, enable the **Apply a restriction for Adfox posts** option in the **Maximum number of posts per week** field. Your ad posts might be published in any of the time slots selected in the channel settings. The total number of posts from both systems is capped by the specified limit.

    Sample served publications:

    ![scheme-2](../_images/tips-tg-2.svg)

    In this case, we cannot guarantee that Adfox ads will be served exactly within the specified time slots. To ensure that the bot publishes ads according to the impression schedule, avoid setting too restrictive limits and targetings in Adfox.


{% endlist %}

## Reports on direct sales in Telegram {#statistics}

You can view the following statistics for direct sales ads placed in a Telegram channel:

- **Total ad requests**.
- **Banner ad responses**: Banners being served in Telegram channels.
- **Post views (Telegram)**: Ad post views recorded by the Yandex Advertising Network bot.
- **Clicks**: Clicks on links in ad posts.
- **Impressions**: The number of impressions for the period.

To view statistics, use the reports:

- **Direct sales in Telegram (by channels)**. The report is available at the account level and displays campaign statistics for the selected period, grouped by channels.
- **Direct sales in Telegram**. The report is available at the campaign and banner level. Shows statistics for the selected ad campaign or banner, grouped by days.
- **Direct sales in Telegram (by campaigns)**. The report is available at the site, section, and placement level. Provides statistics for the selected site, section, or placement, grouped by advertising campaigns.


## Disabling Yandex Advertising Network impressions {#desable}

If necessary, you can disable ad impressions from the Yandex Advertising Network. To do this, in the Yandex Advertising Network interface:

1. On the **Ads in messaging apps** tab, open the channel settings.
1. In the **Connect Adfox** section, disable Yandex Advertising Network impressions.

#### Learn more

- [Getting started with Adfox Configuring direct placements and ad labeling in Telegram channels](https://yandex.com/adv/edu/publishers/adfox-start-working-telegram-channels)


<!-- source: en/_includes/feedback.md -->
## Contact support


<a href="en/form"> <!--ссылка, куда ведет кнопка. Если внутренняя ссылка, пишем без .md и .html --> 
  <span class="button">Send an email</span> <!--текст на кнопке--> 
</a>



<!-- source: en/_includes/styles/button.md -->

<!-- endsource: en/_includes/styles/button.md -->
<!-- endsource: en/_includes/feedback.md -->




