11 грудня 2023
1184
11 хв
5.00
Як автоматизувати мультимовні email-розсилки з Google Sheets
62% маркетингових команд витрачають понад два тижні, щоб підготувати один промолист. Час потрібен на створення дизайну, написання контенту, тестування тощо. Значно складніше маркетологам у компаніях, які працюють на іноземних ринках або в країнах із декількома основними мовами спілкування. Тоді доводиться створювати копії одного повідомлення, але різними мовами. У такому разі без автоматизації не обійтися.
CDP eSputnik має функціональність, що дозволяє компаніям прискорити до 5 разів мультимовну комунікацію з клієнтами. Одним із методів автоматизації процесу на нашій платформі є підстановка даних із зовнішнього джерела. Для цього використовується інтеграція з Google Sheets.
Важливо
Щоб використовувати Google Sheets як зовнішнє джерело даних для розсилки мультимовних повідомлень, зверніться для активації цієї функціональності до служби підтримки eSputnik і надішліть листа на support@esputnik.com.
У eSputnik можна в одному повідомленні використовувати динамічні дані з кількох таблиць одночасно. У такий спосіб автоматично підтягується основний контент розсилки, а також ціни та валюти, актуальні для кожної з локалей, з якими працює ваша компанія. Про те, як це робиться на практиці, читайте у статті.
Автоматизуйте рутинні завдання для омніканальних розсилок
Як настроїти підстановку динамічного контенту в лист у eSputnik
Розглянемо автоматизацію багатомовних розсилок за допомогою Google Таблиць. Процес налаштування складається з кількох етапів.
1. Підготовка макета email-повідомлення будь-якою зручною мовою. Текст листа потрібно розбити на умовні фрази, наприклад:
- заголовок,
- основний текст 1,
- кнопка,
- основний текст 2 тощо.
В окрему фразу необхідно виділити тему листа.
2. Створення джерела з даними — таблиці в Google Sheets. Кожен рядок відповідає мові, а кожен стовпчик — умовним фразам, на які розділено лист:
Найменування локалей у файлі має відповідати значенням, які передаються в додатковому полі.
3. Підключення таблиці як зовнішнього джерела даних у налаштуваннях акаунта eSputnik.
4. Налаштування підстановки динамічного контенту в лист за допомогою бібліотеки Apache Velocity. Відкриваємо редактор коду та обираємо елемент
, до якого треба додати цикл #foreach.- Оголошуємо змінну, яка містить параметр мови. У нашому прикладі це поле Locale. Її код виглядає так: %DATA.LOCALE%
Значення цієї змінної можна дізнатися в системі у вкладці Налаштування → Додаткові поля:
Для оголошення змінної потрібно зробити такий запис:
<!--%DATA.LOCALE%-->
- Створюємо конструкцію, яка виконує такі функції:
- перевіряє, що в полі DATA.LOCALE є значення, і воно не порожнє;
- використовує знайдене значення мови в полі DATA.LOCALE для пошуку відповідного значення у Google-таблиці.
<!--#set($filtered=[])
#if($!data.get('DATA.LOCALE') and $!data.get('DATA.LOCALE')!='') — перевіряємо на наявність додаткового поля та непорожнього значення.
#set($local=$!item.get('DATA.LOCALE')) — якщо поле існує та його значення не порожнє, створюємо змінну local та отримуємо значення мови з додаткового поля.
#else
#set($local='en') — якщо поле існує, але воно порожнє, задаємо дефолтне значення мови.
#end
#foreach($!item in $!data.get('table_name')) — створюємо цикл, який вичитує вміст Google-таблиці.
#if($!item.get('local')==$local) — вказуємо, що потрібно знайти лише вміст, який включає значення мови додаткового поля.
$!filtered.add($!item) — отримуємо підсумковий відфільтрований масив з даними певної мови.
#end
#end-->
У коді листа пункти 1 і 2 виглядатимуть так:
Розкриємо докладніше значення деяких змінних з описаного коду:
#foreach($!item in $!data.get('table_name')) — звертаємося до Google Sheets, де table_name — це назва джерела, створеного з таблиці:
#if($!item.get('local')==$local) — шукаємо в Google-таблиці змінну local, де вказана локаль, та зіставляємо її зі значенням змінної $local (там, де ми отримали значення з додаткового поля #set($local=$!item.get('DATA.LOCALE'))):
- Створюємо фінальну конструкцію, яка виведе контент до листа:
!--#foreach($!i in [0..$!mathTool.sub($!filtered.size(),1)]) #if($!i%3==0) #if($!filtered.size()-$i==1) — запускаємо цикл за раніше відфільтрованим масивом.
#set($phrase1=$!filtered.get($!i).get('Phrase1')) — витягуємо значення для першої змінної, наприклад, заголовка.
#set($phrase2=$!filtered.get($!i).get('Phrase2')) — витягуємо значення для другої змінної, наприклад, тексту.
#set($phrase3=$!filtered.get($!i).get('Phrase3')) — витягуємо значення для третьої змінної, наприклад, кнопки.
-->
<!--#end#end#end--> — закриваємо цикл у кінці листа.
Зверніть увагу, що цикл повинен відкриватися на початку листа, а закриватися у кінці листа. Відкриття та закриття циклу має відбуватися на одному рівні ієрархії коду html.
Розкриємо докладніше значення деяких змінних із коду вище:
#set($phrase1=$!filtered.get($!i).get('Phrase1')) — створюємо змінну $phrase1.
$!filtered.get($!i).get('Phrase1') — підставляємо змінну з таблиці, де міститься перша потрібна нам фраза:
Після цього $phrase1 вставляємо у потрібне місце у листі, де треба вивести вміст із таблиці.
Щоб візуально не нагромаджувати макет листа великою кількістю коду, можна в html-редакторі прописати необхідні значення за допомогою синтаксису присвоєння:
Якщо до версії листа треба додати різні зображення, у редакторі коду необхідно вставити Velocity-вираз у атрибут src.
Замість посилання на зображення слід зазначити:
$!filtered.get($!i).get('img'),
де 'Img' — назва стовпця, який містить посилання на певне зображення.
За допомогою синтаксису можна встановити різні умови виведення контенту. У нашому випадку відбувається перевірка атрибуту в полі “Локаль”, залежно від якого підставляється текст потрібною мовою:
Такий email повністю складатиметься з динамічного контенту, тому макети для інших мов вам не знадобляться.
Висновок
За цією інструкцією маркетолог зміг самостійно налаштувати мультимовну розсилку з глобальною акцією на пів мільйона підписників із 23 країн. Для неї підготували 2 таблиці: одна для мов із написанням тексту зліва направо, друга — справа наліво.
Завдяки такому методу час підготовки розсилки скоротився з 24 до 12 годин. Також уникаються типові помилки, які трапляються під час ручної роботи з великою кількістю копій email і численними сегментами аудиторії.
Ви також хочете автоматизувати частину процесів, щоб працювати ефективніше? Тоді пишіть на info@esputnik.com, і наші фахівці з радістю підкажуть вам, які інструменти CDP eSputnik найкраще підійдуть для вашого бізнесу.
Александр 1 рік тому