Это мой первый пост, но я решил попросить сообщество оставить отзыв.

Некоторая предыстория: я создаю электронное письмо для клиента, который затем возьмет на себя загрузку расширений данных и отправку электронного письма.

В этом электронном письме мы ссылаемся на URL-адрес, который заполнит корзину для подписчика с некоторой информацией, которую мы имеем в расширении данных. Я создал URL-адрес следующим образом:

https://url.com/cart.html?name=%%owner_name%%&email=%%email%%&account=%%account_id%%&field_1=%%field_1%%&field_2=%%field_2%%&field_3=% %поле_3%%

Затем расширение данных заполнит необходимые поля. Мой вопрос: было бы лучше создать этот URL-адрес с помощью AMPScript? Я пытаюсь упростить управление клиентом, и кажется, что AMPScript может вызвать больше проблем, чем исправить. Единственная проблема без использования AMPScript заключается в том, что некоторые из этих полей могут иметь значение 0, и я потенциально мог бы удалить их из URL-адреса.

Какие-либо предложения?

1
Adam Spriggs 12 Мар 2020 в 21:04

1 ответ

Я бы рекомендовал использовать concat и redirectto для вашего URL. Поскольку вам нужно установить так много параметров, я бы создал URL-адрес в блоке AMPscript:

%%[

var @CTAURL
set @CTAURL = "https://url.com/cart.html"
set @CTAURL = concat(@CTAURL, "?name=", AttributeValue("owner_name"))
set @CTAURL = concat(@CTAURL, "&email=", AttributeValue("email"))
set @CTAURL = concat(@CTAURL, "&account=", AttributeValue("account_id"))
set @CTAURL = concat(@CTAURL, "&field_1=", AttributeValue("field_1"))
set @CTAURL = concat(@CTAURL, "&field_2=", AttributeValue("field_2"))
set @CTAURL = concat(@CTAURL, "&field_3=", AttributeValue("field_3"))

]%%
<a href="%%=redirectto(@CTAURL)=%%" alias="link1">link1</a>

Функция attributeValue гарантирует, что для строки подстановки будет возвращено значение, независимо от того, существует в контексте отправки или нет -- или если он пуст.

0
Adam Spriggs 12 Мар 2020 в 21:10