Почему мой URL-адрес SalesForce Marketing Cloud, использующий якорную ссылку, не будет переходить к привязанному месту на странице веб-сайта

Итак, у нас есть URL-адрес, который динамически извлекается из расширения данных поиска (таблицы данных). Он имеет следующую структуру: https://www.clientsite.com/on-boarding/#anchorlocation. Однако, когда мы тестируем отправку электронного письма и щелкаем ссылку, мы переходим на страницу, но якорь не приводит вас к связанному местоположению якоря. Выяснив после расследования, что после того, как мы удалили параметры отслеживания в конце URL-адреса, он сработал именно так, как предполагалось, потому что это был исходный URL-адрес. Однако нам нужно отслеживание, поэтому удаление отслеживания не вариант. Итак, в чем проблема? Вот пример кода:

<table width="100%" cellspacing="0" cellpadding="0" border="0">
   <tr>
      <td valign="middle" align="center">
        <a alias="%%=v(@Alias)=%%" href="%%=RedirectTo(@URL)=%%" target="_blank"><img alt="" border="0" src="%%=v(@VideoImage)=%%" style="display:block;" title="" width="100%" /></a></td> 
   </tr>
</table>

Вот пример URL-адреса после отправки электронного письма. Эта ссылка будет вести на страницу, но не на привязанный раздел страницы:

https://www.clientsite.com/on-boarding/#anchorlocation?utm_source=Onboarding&utm_medium=email&utm_term=Card%20Ship&utm_content=AliasName&utm_campaign=Onboarding_Card_Ship


person Paul Lemke    schedule 22.04.2021    source источник


Ответы (1)


Итак, через некоторое время я узнал, что происходит и как это исправить. Похоже, что имя привязки должно быть в конце URL-адреса. Итак, это должно выглядеть так:

https://www.clientsite.com/on-boarding/?utm_source=Onboarding&utm_medium=email&utm_term=Card%20Ship&utm_content=AliasName&utm_campaign=Onboarding_Card_Ship#anchorlocation

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

%%[
/* This is pulled from the DE or Data Table */
Set @URL = '#anchorlocation' 

/* This resets the variable to the rearranged url */
Set @URL = Concat('https://www.clientsite.com/on-boarding/?utm_source=',__AdditionalEmailAttribute1,'&utm_medium=email&utm_term=',__AdditionalEmailAttribute2,'&utm_content=Alias&utm_campaign=',emailname_,@URL) ]%%

Затем, когда я вызываю переменную в коде, мне нужно объединить html для тегов привязки и изображения, чтобы отслеживание не было применено к нему во второй раз. Этот код выглядит так:

%%=concat('<a alias="',@Alias,'" href="',@URL,'" target="_blank"><img alt="" border="0" src="',@Image,'" style="display:block;" title="" width="100%" /></a>')=%%

Соедините это вместе, и весь код будет выглядеть так:

%%[ Set @URL = Concat('https://www.clientsite.com/on-boarding/?utm_source=',__AdditionalEmailAttribute1,'&utm_medium=email&utm_term=',__AdditionalEmailAttribute2,'&utm_content=Video_Alias&utm_campaign=',emailname_,@URL) ]%%<table width="100%" cellspacing="0" cellpadding="0" border="0" bgcolor="#E8E8E8">
   <tr>
      <td style="line-height:1px; font-size:1px;" height="1" bgcolor="#DEDEDE">&nbsp;</td>
   </tr>
   <tr>
      <td valign="top" bgcolor="#E8E8E8" align="left">
         <table width="100%" cellspacing="0" cellpadding="0" border="0">
            <tr>
               <td valign="middle" align="center">%%=concat('<a alias="',@Alias,'" href="',@URL,'" target="_blank"><img alt="" border="0" src="',@Image,'" style="display:block;" title="" width="100%" /></a>')=%%</td>
            </tr>
         </table>
      </td>
   </tr>
   <tr>
      <td style="line-height:1px; font-size:1px;" height="1" bgcolor="#DEDEDE">&nbsp;</td>
   </tr>
</table>
person Paul Lemke    schedule 22.04.2021