В редакторе содержимого почтового маркетинга я хочу использовать переменную в ClaimRow()
для расширения данных. Поскольку функции ClaimRow()
и ClaimRowValue()
не принимают переменные для имени расширения данных, только литералы, я пытаюсь использовать TreatAsContent()
.
Запуск кампании по электронной почте,
%%[
/* ampscript code here */
SET @CUSTOM_DE = "MY_CUSTOM_DE_NAME"
SET @CouponRow = ClaimRow('MY_CUSTOM_DE_NAME', 'IsClaimed', 'SubscriberKey', emailaddr)
/* Problem with the following line /*
TreatAsContent(Concat("%%[ SET @CouponRow = ClaimRow('", @CUSTOM_DE , "', 'IsClaimed', 'SubscriberKey', '", emailaddr, "') ]%%"))
]%%
<table border="1">
<tr>
<td>
Hello <b>%%First Name%%</b><br> <br>
Your email address: <b>%%emailaddr%%</b><br> <br>
</td>
В этом случае emailaddr
и First Name
являются полями из списка аудитории / подписчиков, который перебирается. Мне нужно, чтобы emailaddr
был ключом подписчика в ClaimRow()
. Как видите, я успешно использую его в части AMPScript, используя ClaimRow()
и HTML-блок в конце. Однако проблема заключается в строке TreatAsContent()
, и были предприняты несколько вариантов.
- Обновление -
Я использовал AttributeValue
, чтобы назначить @emailAddress
вдольс исправленной строкой TreatAsContent()
. Однако, похоже, что он не выполняется, поскольку @CouponRow
не получает назначения:
SET @emailAddress = AttributeValue("emailaddr")
/* SET @CouponRow = ClaimRow("CUSTOM_DE", 'IsClaimed', 'SubscriberKey', emailaddr) */
TreatAsContent(Concat("SET @CouponRow = ClaimRow('", @CUSTOM_DE , "', 'IsClaimed', 'SubscriberKey', '", @emailAddress, "') "))