Jak zautomatyzować wielojęzyczne kampanie e-mailowe za pomocą Google Sheets

62% zespołów marketingowych spędza więcej niż dwa tygodnie na tworzeniu jednej promocyjnej wiadomości e-mail. Czas jest poświęcany na projektowanie, pisanie treści, testowanie i tym podobne. Dla firm działających na rynkach zagranicznych lub w krajach, gdzie mówi się kilkoma głównymi językami, zadanie staje się trudniejsze. W tym przypadku marketerzy muszą tworzyć kopie tej samej wiadomości, ale w różnych językach, więc wykorzystanie mocy automatyzacji staje się mądrym rozwiązaniem.

Funkcjonalność Yespo CDP pomaga firmom przyspieszyć wielojęzyczną komunikację z klientami nawet do 5 razy. Jedną z metod automatyzacji tego procesu z naszą platformą jest podstawienie danych z zewnętrznego źródła. Do tego zadania należy użyć integracji z Google Sheets.

Ważne!

Aby użyć Google Sheets jako zewnętrznego źródła danych do wysyłania wielojęzycznych wiadomości, skontaktuj się z wsparciem Yespo pod adresem support@yespo.io z prośbą o aktywację tej funkcjonalności.

Wystarczy, że dodasz informacje do arkuszy, a system automatycznie użyje ich w różnych wersjach językowych listu. W Yespo możesz użyć dynamicznych danych z kilku arkuszy jednocześnie w jednej wiadomości. Dzięki temu główna treść newslettera jest automatycznie aktualizowana, podobnie jak ceny i waluty, które są istotne dla każdej z lokalizacji, z którymi współpracuje Twoja firma. Dowiedz się, jak to zrobić w praktyce w tym artykule.

Zautomatyzuj rutynowe zadania dla newsletterów omnichannel!

Zarejestruj się!

Jak ustawić zastępowanie dynamicznych treści e-mail w Yespo

Przyjrzyjmy się procesowi automatyzacji kampanii wielojęzycznych przy użyciu Google Sheets na przykładzie firmy Find My Kids.

Ustawimy dynamiczne zastępowanie treści w e-mailu przy użyciu biblioteki Apache Velocity. Korzystając z edytora kodu, należy dodać pętlę #foreach do elementu <body>.

1. Zadeklaruj zmienną, która zawiera parametr językowy. W naszym przykładzie jest to pole Locale. Jego kod wygląda następująco: %DATA.LOCALE%

Wartość tej zmiennej można znaleźć w systemie na karcie Ustawienia → Dodatkowe pola:

Aby zadeklarować zmienną, musisz zrobić wpis jak poniżej:

<!--%DATA.LOCALE%-->

2. Utwórz strukturę, która wykonuje następujące funkcje:

<!--#set($filtered=[])

#if($!data.get('DATA.LOCALE') and $!data.get('DATA.LOCALE')!='') – sprawdzenie istnienia dodatkowego pola oraz niepustej wartości.

 

#set($local=$!item.get('DATA.LOCALE')) – jeśli pole istnieje i jego wartość nie jest pusta, tworzymy lokalną zmienną i pobieramy wartość języka z dodatkowego pola.

#else

#set($local='en') – jeśli istnieje, ale pole jest puste, ustaw wartość domyślnego języka.

#end

#foreach($!item in $!data.get('table_name')) – utwórz pętlę, która wczyta zawartość arkusza Google Sheets.

#if($!item.get('local')==$local) – wskaż, że potrzebujemy znaleźć tylko treść, która zawiera wartość języka z dodatkowego pola.

$!filtered.add($!item) – uzyskaj końcową przefiltrowaną tablicę z danymi dla określonego języka.

#end

#end-->

W kodzie listu, punkty 1 i 2 będą wyglądały następująco:

Przyjrzyjmy się znaczeniu niektórych zmiennych w opisanym kodzie:

#foreach($!item in $!data.get('table_name')) – uzyskaj dostęp do Google Sheets, gdzie table_name to nazwa źródła utworzonego z tabeli:

#if($!item.get('local')==$local) – szukaj zmiennej lokalnej w Google Sheets, gdzie wskazana jest lokalizacja, i porównaj ją z wartością zmiennej $local (gdzie uzyskaliśmy wartość z dodatkowego pola # set($local=$!item.get('DATA.LOCALE'))):

3. Utwórz końcową strukturę, która wyświetli treść w liście:

!--#foreach($!i in [0..$!mathTool.sub($!filtered.size(),1)]) #if($!i%3==0) #if($!filtered .size()-$i==1) – rozpocznij pętlę poprzez wcześniej przefiltrowaną tablicę.

#set($phrase1=$!filtered.get($!i).get('Phrase1')) – wyciągnij wartość dla pierwszej zmiennej, na przykład tytułu.

#set($phrase2=$!filtered.get($!i).get('Phrase2')) – wyciągnij wartość dla drugiej zmiennej, na przykład tekstu.

#set($phrase3=$!filtered.get($!i).get('Phrase3')) – wyciągnij wartość dla trzeciej zmiennej, na przykład przycisku.

-->

<!--#end#end#end--> – zamknij pętlę na dole listu.

Zwróć uwagę, że pętla powinna być otwarta na początku listu i zamknięta na końcu listu. Otwarcie i zamknięcie pętli musi nastąpić na tym samym poziomie w hierarchii kodu html.

Przyjrzyjmy się bliżej znaczeniu niektórych zmiennych w powyższym kodzie:

#set($phrase1=$!filtered.get($!i).get('Phrase1')) – utwórz zmienną $phrase1.

$!filtered.get($!i).get('Phrase1') – podstaw zmienną z tabeli, która zawiera potrzebną pierwszą frazę:

Następnie wstawiamy $phrase1 w żądanym miejscu w liście, gdzie musimy wyświetlić zawartość z arkuszy.

Aby wizualnie nie zaśmiecać układu listu dużą ilością kodu, można wprowadzić niezbędne wartości w edytorze html, używając składni przypisania:

Jeśli musisz dodać różne obrazy do wersji listu, musisz wstawić wyrażenie Velocity do atrybutu src w edytorze kodu.

Zamiast linku do obrazu należy wskazać:

$!filtered.get($!i).get('img'),

gdzie 'Img' to nazwa kolumny, która zawiera link do odpowiedniego obrazu.

Używając składni, możesz ustawić różne warunki wyświetlania treści. W naszym przypadku atrybut jest sprawdzany w polu “Locale”, w zależności od którego podstawiany jest tekst w żądanym języku:

W ten sposób e-mail będzie składał się wyłącznie z dynamicznej treści i nie ma potrzeby tworzenia układów dla innych języków.

Wniosek

Korzystając z tych instrukcji, marketer aplikacji Find My Kids zdołał samodzielnie skonfigurować wielojęzyczny newsletter ogłaszający globalną promocję dla 1,5 miliona subskrybentów z 23 krajów. Przygotowaliśmy dwie tabele: jedną dla języków, w których tekst pisze się od lewej do prawej, drugą – od prawej do lewej.

Dzięki tej metodzie marketerzy firmy mogli skrócić czas projektowania listów z 24 do 12 godzin. Ponadto ta taktyka pozwoliła uniknąć błędów ludzkich, które mogą wystąpić podczas ręcznej pracy z dużą ilością kopii e-maili oraz licznymi segmentami odbiorców. Dowiedz się więcej o tym przypadku.

Czy również chcesz zautomatyzować część swoich zadań, aby pracować bardziej efektywnie? Napisz do info@yespo.io, a nasi specjaliści z chęcią doradzą, które narzędzia Yespo CDP najlepiej spełnią potrzeby Twojego biznesu!

🔒 Zgodność z GDPR, CCPA, CASL. Twoje dane są u nas bezpieczne.