标题可能看起来有点模糊,但这是因为我目前遇到了多个问题,将谷歌优化整合到我们的React / Next.js项目中。我将尽可能详细地解释我的问题和行动。但是,如果有什么不清楚的话,请告诉我。
问题:
我试过的是:
<Html lang="en" className="async-hide">
<Head>
{/*
Google Optimize Ant-Flicker Snippet
https://support.google.com/optimize/answer/9692472?ref_topic=6197443
*/}
<style
dangerouslySetInnerHTML={{
__html: `.async-hide { opacity: 0 !important}`,
}}
/>
<script
dangerouslySetInnerHTML={{
__html: `
(function(a,s,y,n,c,h,i,d,e){s.className+=' '+y;h.start=1*new Date;
h.end=i=function(){s.className=s.className.replace(RegExp(' ?'+y),'')};
(a[n]=a[n]||[]).hide=h;setTimeout(function(){i();h.end=null},c);h.timeout=c;
})(window,document.documentElement,'async-hide','dataLayer',4000,
{'OPT-OPTIMIZE_ID':true});
`,
}}
/>
<script src="https://www.googleoptimize.com/optimize.js?id=OPT-OPTIMIZE_ID"></script>
{/* Google Tag Manager */}
<script async src="https://www.googletagmanager.com/gtm.js?id=GTM-TAGMANAGER_ID"></script>
<script
dangerouslySetInnerHTML={{
__html: `
(function(w,l){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});
})(window,'dataLayer');
`,
}}
></script>
...
[rest of code]我有个问题
发布于 2020-12-03 17:14:48
这是你在这里遇到的一个很常见的问题。谷歌优化和其他A/B测试解决方案,通过Javascript在客户端更改网站内容,会产生闪烁效应,因为脚本必须下载才能更改任何内容。
回答你的问题:
<App/>您可以使用一个useEffect()钩子,它抛出一个标签管理器事件来触发优化体验的插入。
请注意!通过这个,你会得到一个闪烁的效果或放慢你的网站,因为你必须等待直到所有的水化,这可能需要几秒钟的慢速设备,然后会重新修改你的内容。
这是Jam堆栈页面中的一个常见问题--可以通过将实验api直接集成到代码中来解决,这一点肯定要复杂得多。https://stackoverflow.com/questions/63994663
复制相似问题