如何在 MailChimp 确认页面 url 中包含 URL 参数
Posted
技术标签:
【中文标题】如何在 MailChimp 确认页面 url 中包含 URL 参数【英文标题】:How to include URL parameters in MailChimp confirmation page url 【发布时间】:2018-06-25 15:04:02 【问题描述】:我正在创建一个 mailchimp 注册表单,遵循 this documentation. 我正在托管我自己的注册表单,因此我在此处指定该 URL:
我想包含一个动态 URL 参数,它将表单中输入的电子邮件地址发送到我的感谢页面。
我试过shown here的格式,也试过使用合并代码,像这样:
http://example.com/thankyou?email=*|EMAIL|*
或者,如果有完全不同的方法来解决这个问题,使用自定义表单或 API。
【问题讨论】:
【参考方案1】:我已经与 Mailchimp 支持人员讨论过这个主题以及我收到的答案:
这是不可能的,因为合并标签只会填充这些值 在 Mailchimp 活动和托管页面中。确认谢谢 页面从注册表单重定向,表单没有办法 为该合并标签捕获电子邮件地址。
所以一个选项是在列表设计器中使用高级模式并使用刷新元标记注入表单:
<meta http-equiv="refresh" content="0;url=https://www.example.com?email=*|EMAIL|*">
【讨论】:
【参考方案2】:我意识到这是一个老问题,但以防万一其他人正在寻找解决方案,我想我会分享。
我刚刚做了一些类似于你正在尝试做的事情。对于我的用例,我试图添加到 URL,以便我可以显示唯一的确认页面结果。因此,我在表单操作中的 Mailchimp URL 末尾附加了一个 URL 参数。然后在确认页面中,我使用此脚本读取该 URL 参数并将其添加到重定向中。到目前为止,它就像一个魅力。
这是我的代码:
<script>
var formSubmit = getUrlParameter('formSubmit');
function getUrlParameter(sParam)
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++)
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam)
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
;
var link = document.createElement('meta');
link.setAttribute('http-equiv', 'refresh');
link.content = '0;URL=https://puredesire.org/thank-you?formSubmit=' + formSubmit;
document.getElementsByTagName('head')[0].appendChild(link);
</script>
【讨论】:
【参考方案3】:为了避免在高级模式下创建所有公式,我使用 html 视图中的文本编辑器在 mailchimp 确认页面的正文中添加了重定向语句。它也很有效。
【讨论】:
以上是关于如何在 MailChimp 确认页面 url 中包含 URL 参数的主要内容,如果未能解决你的问题,请参考以下文章