В чем проблема с этой строкой TreatAsContent () в AMPScript? - PullRequest
0 голосов
/ 31 октября 2019

В редакторе содержимого почтового маркетинга я хочу использовать переменную в 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>&nbsp;<br>
        Your email address: <b>%%emailaddr%%</b><br>&nbsp;<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, "') ")) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...