Firefox浏览器出现Pardot Cookie因过期被拒绝报错该如何修复?
该报错触发的核心原因是Firefox对Cookie有效性、第三方Cookie的校验规则比Chrome更严格:高版本Firefox会直接拦截时间戳已过期的Cookie,同时默认限制未正确配置SameSite、Secure属性的第三方Cookie,你当前使用的Pardot默认跟踪脚本未配置Cookie合规属性,导致触发拦截。
- 第一步:更新跟踪脚本的配置参数,在原有
piAId、piCId、piHostname三个变量后新增3个Cookie配置参数,修改后的完整脚本如下:
<script type="text/javascript"> piAId = '12345'; piCId = '1234'; piHostname = 'pi.pardot.com'; // 新增以下三个配置 piCookieExpiry = 31536000000; // 单位为毫秒,对应1年有效期,不要设置为过去的时间 piCookieSameSite = 'Lax'; // 跨站跟踪需求可改为'None',改为None时必须开启piCookieSecure piCookieSecure = window.location.protocol === 'https:'; // 自动匹配站点协议,HTTPS站点强制开启 (function() { function async_load(){ var s = document.createElement('script'); s.type = 'text/javascript'; s.src = ('https:' == document.location.protocol ? 'https://pi' : 'http://cdn') + '.pardot.com/pd.js'; var c = document.getElementsByTagName('script')[0]; c.parentNode.insertBefore(s, c); } if(window.attachEvent) { window.attachEvent('onload', async_load); } else { window.addEventListener('load', async_load, false); } })(); </script>
- 第二步:调整Pardot账户后台的Cookie配置,进入账户设置的跟踪选项页,将Cookie默认有效期设置为1~2年,不要设置为会话级或者过去的时间戳,同时同步SameSite、Secure属性配置和脚本内的参数保持一致。
- 第三步:清理浏览器缓存测试,删除Firefox浏览器中当前站点及pardot.com域名下所有已存储的过期
pardotCookie,重新加载页面确认报错是否消失。 - 第四步(可选优化):如果仍有拦截问题,可配置Pardot第一方跟踪,将跟踪Cookie映射到你自己的站点域名下,完全规避第三方Cookie拦截规则的限制,该配置完成后所有浏览器的兼容性都可以得到保障。
内容的提问来源于stack exchange,提问作者naupa
相关产品推荐
相关产品推荐

