# Обработка параметров start (UTM)

## **Что такое параметр start?**

Параметр start - это единственный способ передать данные в бот при его запуске. Чтобы его использовать нужно к обычной ссылке на бот добавить строку `?start={ ваши данные }`, такие ссылки называются Deep links.

С его помощью вы можете сделать реферальную программу или добавить параметры для отслеживания источника пользователей. Подробнее про отслеживание можно прочитать в нашем [блоге](https://graspil.com/ru/post/utm_for_telegram_bot).

<details>

<summary>Как получить эти данные в боте?</summary>

Пример ссылки на бот: `https://t.me/Graspil_bot?start=docs`

Значение, которое получит бот `docs`

Когда пользователь запускает бот, вам приходит [Update](https://core.telegram.org/bots/api#update) типа \
[Message](https://core.telegram.org/bots/api#message). В нем есть параметр `text` который равен `/start`, в случае с deep link параметр `text` будет равен  `/start docs`

**Пример**

{% code overflow="wrap" lineNumbers="true" %}

```json
{
   update_id":10000,
   "message":{
     "date":1441645532,
     "chat":{
        "last_name":"Test Lastname",
        "id":1111111,
        "first_name":"Test",
        "username":"Test"
     },
     "message_id":1365,
     "from":{
        "last_name":"Test Lastname",
        "id":1111111,
        "first_name":"Test",
        "username":"Test"
     },
     "text":"/start docs" // <----- данные переданные в start
   }
}
```

{% endcode %}

</details>

{% hint style="info" %}
Существует ограничение в 64 символа на длину строки в параметре start
{% endhint %}

### Как graspil обрабатывает параметр start?

Graspil использует этот параметр для [отслеживания источника пользователей](https://graspil.com/ru/post/utm_for_telegram_bot). Телеграм не поддерживает дополнительных параметров, поэтому мы добавили возможность настроить логику обработки данного параметра.

Так как в start можно передать только одну строку, мы добавили правила с помощью которых такую строку можно разделить на разные параметры.&#x20;

Например, вам нужно передать источник перехода по ссылке и тип источника (например email). Для этого вы можете использовать строку такого вида `start=source-news1_medium-email` и задать нужные настройки для ее обработки.

В graspil все такие параметры преобразовываются в `параметр=значение` иными словами в таблицу, с которыми в дальнейшем можно работать (строить отчеты, фильтровать данные).

| Параметр | Значение |
| -------- | -------- |
| source   | news1    |
| medium   | email    |

{% hint style="info" %}
О том как настроить обработку параметра start вы можете прочитать в [следующем разделе](/ru/app/start-utm/configuring-start.md)
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.graspil.com/ru/app/start-utm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
