Як автоматизувати мультимовні email-розсилки з Google Sheets

62% маркетингових команд витрачають понад два тижні, щоб підготувати один промолист. Час потрібен на створення дизайну, написання контенту, тестування тощо. Значно складніше маркетологам у компаніях, які працюють на іноземних ринках або в країнах із декількома основними мовами спілкування. Тоді доводиться створювати копії одного повідомлення, але різними мовами. У такому разі без автоматизації не обійтися.

CDP eSputnik має функціональність, що дозволяє компаніям прискорити до 5 разів мультимовну комунікацію з клієнтами. Одним із методів автоматизації процесу на нашій платформі є підстановка даних із зовнішнього джерела. Для цього використовується інтеграція з Google Sheets.

Важливо

Щоб використовувати Google Sheets як зовнішнє джерело даних для розсилки мультимовних повідомлень, зверніться для активації цієї функціональності до служби підтримки eSputnik і надішліть листа на support@esputnik.com.

У eSputnik можна в одному повідомленні використовувати динамічні дані з кількох таблиць одночасно. У такий спосіб автоматично підтягується основний контент розсилки, а також ціни та валюти, актуальні для кожної з локалей, з якими працює ваша компанія. Про те, як це робиться на практиці, читайте у статті.

Автоматизуйте рутинні завдання для омніканальних розсилок

Зареєструватися

Як настроїти підстановку динамічного контенту в лист у eSputnik

Розглянемо автоматизацію багатомовних розсилок за допомогою Google Таблиць. Процес налаштування складається з кількох етапів.

1. Підготовка макета email-повідомлення будь-якою зручною мовою. Текст листа потрібно розбити на умовні фрази, наприклад:

В окрему фразу необхідно виділити тему листа.

2. Створення джерела з даними — таблиці в Google Sheets. Кожен рядок відповідає мові, а кожен стовпчик — умовним фразам, на які розділено лист:

Найменування локалей у файлі має відповідати значенням, які передаються в додатковому полі.

3. Підключення таблиці як зовнішнього джерела даних у налаштуваннях акаунта eSputnik.

4. Налаштування підстановки динамічного контенту в лист за допомогою бібліотеки Apache Velocity. Відкриваємо редактор коду та обираємо елемент <body>, до якого треба додати цикл #foreach.

  1. Оголошуємо змінну, яка містить параметр мови. У нашому прикладі це поле Locale. Її код виглядає так: %DATA.LOCALE%


Значення цієї змінної можна дізнатися в системі у вкладці Налаштування → Додаткові поля:

Для оголошення змінної потрібно зробити такий запис:

&lt;!--%DATA.LOCALE%--&gt;
  1. Створюємо конструкцію, яка виконує такі функції:
&lt;!--#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--&gt;

У коді листа пункти 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'))):

  1. Створюємо фінальну конструкцію, яка виведе контент до листа:
!--#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')) — витягуємо значення для третьої змінної, наприклад, кнопки.
--&gt;
&lt;!--#end#end#end--&gt; — закриваємо цикл у кінці листа.

Зверніть увагу, що цикл повинен відкриватися на початку листа, а закриватися у кінці листа. Відкриття та закриття циклу має відбуватися на одному рівні ієрархії коду 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 найкраще підійдуть для вашого бізнесу.

Отримати персональну консультацію

Навіть якщо ви не знайшли функції, що вас цікавлять, у списку можливостей eSputnik, ми відкриті для пропозицій і запровадимо рішення, здатні підвищити ефективність роботи з системою.