11 декабря 2023
1398
12 мин
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. Используя редактор кода, в элемент body нужно добавить цикл #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 лучше всего закроют потребности вашего бизнеса.