为什么我的 SalesForce Marketing Cloud url 使用锚点 link 不会转到网站页面上的锚点
Why won't my SalesForce Marketing Cloud url that uses an anchor link will not go to the anchored spot on the website page
所以我们有一个 url,它是从查找数据扩展 (Data Table) 中动态提取的。它的结构如下:https://www.clientsite.com/on-boarding/#anchorlocation。但是,当我们测试发送电子邮件并单击 link 时,我们会转到该页面,但锚点不会将您带到 linked 锚点位置。调查后发现,一旦我们从 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 的示例。此 link 将转到页面但不会转到页面的锚定部分:
所以,一段时间后我确实发现了发生了什么以及如何修复它。看来锚名称必须在 url 的末尾。所以它应该是这样的:
以下是我如何通过我们的动态内容实现这一点。我知道跟踪参数是什么以及数据来自何处以填充它们。所以我只需要使用 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"> </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"> </td>
</tr>
</table>
所以我们有一个 url,它是从查找数据扩展 (Data Table) 中动态提取的。它的结构如下:https://www.clientsite.com/on-boarding/#anchorlocation。但是,当我们测试发送电子邮件并单击 link 时,我们会转到该页面,但锚点不会将您带到 linked 锚点位置。调查后发现,一旦我们从 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 的示例。此 link 将转到页面但不会转到页面的锚定部分:
所以,一段时间后我确实发现了发生了什么以及如何修复它。看来锚名称必须在 url 的末尾。所以它应该是这样的:
以下是我如何通过我们的动态内容实现这一点。我知道跟踪参数是什么以及数据来自何处以填充它们。所以我只需要使用 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"> </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"> </td>
</tr>
</table>