Для того чтобы сохранить UTM-метки при передаче данных из вашего сайта в AMO CRM через WhatsApp, можно использовать следующий подход. Это решение не требует привлечения сторонних сервисов и основывается на использовании JavaScript и API AMO CRM.
### Шаги для реализации:
1. **Сбор UTM-меток**: На вашем сайте нужно собрать UTM-метки из URL.
2. **Формирование ссылки на WhatsApp**: При инициации диалога с WhatsApp вам нужно будет передать собранные UTM-метки в качестве параметров, чтобы они также были доступны в диалоге.
3. **Отправка данных в AMO CRM**: После инициации чата вы можете использовать API AMO CRM для создания лида с уже существующими метками.
### Пример реализации:
1. **Сбор UTM-меток**:
```javascript
// Функция для получения параметров URL
function getUTMParameters() {
const urlParams = new URLSearchParams(window.location.search);
const utmParams = {};
for (const [key, value] of urlParams.entries()) {
if (key.startsWith('utm_')) {
utmParams[key] = value;
}
}
return utmParams;
}
// Пример того, как можно использовать метки
const utm = getUTMParameters();
const whatsappMessage = `Привет! Я заинтересован в вашем продукте. UTM-метки: ${JSON.stringify(utm)}`;
const whatsappLink = `https://wa.me/YOUR_PHONE_NUMBER?text=${encodeURIComponent(whatsappMessage)}`;
```
2. **Создание ссылки на WhatsApp**:
```html
<a href="" id="whatsapp-link">Напишите нам в WhatsApp</a>
```
```javascript
document.getElementById('whatsapp-link').href = whatsappLink;
```
3. **Отправка данных в AMO CRM**:
При отправке сообщения клиентом в WhatsApp вы можете использовать Webhook или другой метод для получения данных и отправки их в AMO CRM.
Пример использования API для добавления лида:
```javascript
const addLeadToAmocrm = async (utm) => {
const leadData = {
name: "Новый лид",
tags: Object.keys(utm).join(', '),
// другие параметры лида
};
const response = await fetch('https://YOUR_DOMAIN.amocrm.ru/api/v4/leads', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
},
body: JSON.stringify(leadData),
});
if (!response.ok) {
console.error('Ошибка добавления лида:', response.statusText);
}
};
```
### Важно:
1. **Ограничения**: Прямое извлечение UTM-меток из WhatsApp-сообщений может быть ограничено, поэтому может потребоваться дополнительная обработка.
2. **API AMO CRM**: Убедитесь, что у вас есть доступ к API и правильно настроены токены аутентификации.
3. **Обновление лида**: Возможно, вам потребуется обновлять информацию о лидах в AMO, чтобы включить в них UTM-метки при каждом взаимодействии.
Эта стратегия позволит вам сохранить UTM-метки и будет работать без привлечения сторонних сервисов, если у вас есть доступ к API AMO CRM и знание о том, как его использовать.