问题标签 [gpt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 设置存储在 JSON 对象中的 DFP 定位键值
我正在尝试将 DFP 键值列表存储在 JSON 对象中,并使用 javascript 循环列表中的每个键值对,以将它们设置为 Google 发布商代码中的页面级定位参数。
我正在使用这个函数,它不会引发任何错误,但似乎也不会执行:
结果输出应该相当于多行:
Codepen 在这里:
您可以提供的任何帮助将不胜感激!
google-tag-manager - 仅当 div-x 存在时才定义槽
googletag.defineSlot
是否可以仅在页面上存在对应项时动态定义 a div-x
?目前使用此方法通过 Google Tag Manager 定义。我们在不存在广告单元的不同页面上收到这些错误:
在单请求模式下,调用 googletag.defineSlot 的次数超过了 DOM 中与广告位关联的 DIV 的次数。这将影响展示次数
定义广告位并推送展示
页面上的div:
预期的操作是仅当与声明的插槽匹配的 div-x 在当前页面上时才定义插槽。
google-dfp - GPT 广告 - 使用延迟加载时刷新失败
我正在尝试将新引入的googletag.PubAdsService.enableLazyLoad
选项与 DFP 广告一起使用。它在初始页面加载期间工作正常,但是当我尝试刷新页面上的广告时,我收到以下错误:
排队的 GPT 命令类型错误中的异常:无法在 Wt(pubads_impl_242.js: 1) at pubads_impl_242.js:1 at Vt (pubads_impl_242.js:1) at _.V.$a (pubads_impl_242.js:1) at Xu (pubads_impl_242.js:1) at Cv (pubads_impl_242.js:1) at wv._.h.refresh (pubads_impl_242.js:1)
这是我的代码:
javascript - i++ 从 JavaScript for 循环传递到 jQuery(document).ready(function() { 在遍历数组时不能用作动态索引
对于我的罪过,我不是一个全职的 JavaScript 实践者,但我正在努力。这是我尝试使用 Google Publisher Tag API 的广告管理命名空间的简化版本
slots
是由返回的 GPT 插槽数组googletag.defineSlot(
,设置在头部中,它尝试通过将其推迟到 jQuery 来定位仅存在于 CMS 后 HTML 呈现的 div。
我怎样才能做到这一点:
...使用 dynamic i
,因为当我一直在调试它时,我发现我不能i
像这样通过,只能通过硬编码的索引。
这适用于jQuery(document).ready(function() {
:
这会导致未定义的错误:
我一直在阅读(诚实),但我很困惑。温和地说,这里发生了什么,我该如何解决?
javascript - DoubleClick for publishers:显示自适应广告
这是我当前的代码。
但它在侧边iframe中显示横幅,宽度和高度固定。
我怎样才能使这个响应?以前我使用带有同步渲染的自定义html,但现在已弃用。
实现这一目标的最佳方法是什么?
但为此我不得不提到屏幕的每个高度和宽度。
gpt - Google Publisher Tag,如何从服务中删除事件监听器
关于如何将事件注册到 gpt 服务似乎有几个问题:
Google Publisher Tag registering to Events
registering to events with google publisher tag
文档中明确定义了如何执行此操作:
googletag.pubads().addEventListener('eventName', callbackFn);
当组件(React)安装在回调函数中时,我将我的事件添加到服务中,window.googletag.cmd.push
如Google 本教程中所述。
现在的问题是,每次我更改页面时,都会向服务中添加更多的事件侦听器。通过使用此方法(来自文档),我可以确保只有一个事件侦听器在实际存在的插槽上执行:
但是更多的事件侦听器将保持活动状态并继续执行(不执行 if 语句中的代码)。
现在,我假设谷歌会实现这样的东西(在 componentWillUnmount 上运行):
googletag.pubads().removeEventListener('eventName', callbackFn);
但它在文档中不存在,我似乎找不到任何方法从服务中删除活动的事件侦听器?
google-dfp - 如何优化从 DFP 和谷歌标签管理器脚本中获取广告?
我是致力于提高我们网站灯塔评分的团队的一员: https ://www.bikewale.com/m/royalenfield-bikes/classic-350/
我们专注于优化页面上的 javascript 交付,以减少交互时间。但是,我们注意到像和在页面加载时加载广告之类的脚本将我们的最大改进限制在 70 左右(灯塔性能得分)gtm.js
。gpt.js
在我们对 javascript 交付进行优化后,我们的得分最高为 70。我们尝试删除 google tag manager 和 gpt 的 js 文件,结果得分上升到 95(大约)。此外,延迟加载所有广告,因此对 dfp 的请求使我们提高到 75 左右(我们不能这样做,因为第一个广告在第一折中)。
请注意,我们已遵循以下链接中提到的指南和最佳实践:gtm - https://developers.google.com/tag-manager/quickstart gpt - https://support.google.com/admanager/answer/ 7485975
googletag.pubads().refresh(immediateAds); // immediateAds is array of first fold ads
刷新方法正在恶化性能。
有没有办法优化广告和 gtm 脚本的投放,以提高性能?可能是脚本的更新版本或替代方案?有没有办法直接加载第一个折叠广告,然后懒加载页面上的其他广告,不使用refresh()
方法
javascript - 谷歌发布标签允许客户编辑更新广告
您好我正在尝试将 GPT(Google 发布标签)广告嵌入到我的网络应用程序中(效果很好)。但是,我被要求确保客户端可以编辑和修改 GPT HTML 脚本,以便在实时发送更改之前查看更改。我的问题是,当我将修改后的广告 HTML 和脚本重新插入 DOM(以供查看)时,广告脚本不再能够由浏览器执行(javascript 错误)。
您好我已尝试通过以下网站寻求帮助: https: //support.google.com/admanager#topic=7505988
除了尝试 GPT API 参考中提到的各种事情,例如 destroySlots 选项,我可以重置 googletag javascript 对象以重新插入脚本
https://developers.google.com/doubleclick-gpt/reference
请查看我想要实现的最小可重复示例: https ://codepen.io/angusgrant/pen/eawbLV
- 单击“编辑广告”按钮(应打开一个对话框窗口,其中包含一个文本区域输入,显示一个 HTML 文本区域输入,其中显示了广告脚本的 HTML 源。
- 单击“预览”按钮。请注意,GPT 广告不再显示/呈现。
这是我在页面加载时加载的 HTML(scriptlet),需要能够通过 JS 重新插入 DOM:
我希望广告(仍然)显示(对在网页中呈现的文本区域中的 HTML 进行的任何修改)。
我实际经历的是,广告代码按预期加载到 DOM 中(使用完全相同的 HTML/Javascript 代码)并且浏览器尝试呈现更改,但我在开发人员工具中收到错误:
并且广告不再呈现。
请告知我如何重新编写 GPT HTML / scriptlet 以便它在页面加载时运行以及在重新插入 DOM 时运行?
javascript - Google 广告 dfp js 代码未呈现所有广告位
我需要一些帮助来更好地设置我的 google dfp 代码。
我已经尝试单独设置广告位,但它并未呈现所有广告位。
这是添加代码槽定义:
我需要帮助定义所有插槽