Google DFP广告管理系统:设置自定义数据并使用javascript重复使用

时间:2017-01-13 15:49:52

标签: google-dfp

是否可以在DFP广告管理系统广告素材中,在控制台面板中设置自定义数据,然后在网站的前端重复使用它们?

例如,假设我有一个广告,其中包含广告素材列表。 具体取决于所显示的广告素材,其中自定义字段带有数字。使用javascript我想在我的网页上阅读此数字,并根据(更改文档标题或激活与DFP相关的应用)执行不同的操作。

更多可以在广告中显示用户可以与之交互的自定义​​js应用程序(例如计算器)吗?

1 个答案:

答案 0 :(得分:0)

我没有找到通过javascript提取广告素材自定义字段的方法。最有可能的是它没有暴露在页面上,因为它的设计目的略有不同:

  

这些可选字段可用于组织报表中的对象。它们是在“管理员”标签中创建的。它们不会影响广告投放或投放

但是你可以通过多种方式做到这一点:

  1. 绑定到广告素材ID - 如果显示特定的广告素材ID,请执行您选择的某些操作。 DFP广告管理系统的“广告素材”网格中提供了这些ID。
  2. 如果您不仅限于图片广告素材,则可以使用带有js代码的第三方广告素材,该代码可以与父页面进行通信,并将一些数据传递给父页面上安装的js处理程序。由于DFP使用了友好的iframe(http://www.iab.net/media/file/rich_media_ajax_best_practices.pdf),因此您可以从广告中访问父网页
  3. 更脏的方法 - 您可以将一些服务数据放入 alt 字段,该字段可以从父页面在广告中找到
  4. 事件处理程序中还有一个属性事件。labelIds,但尽管有一些与我的测试广告素材相关联的标签,但它仍为空
  5. 以下是说明p.1和p.3的代码:

    googletag.pubads().addEventListener('slotRenderEnded', function(event) {    
        if (!event.isEmpty) {                                                   
            var slotId = event.slot.getSlotElementId();                         
            var iframe = document.querySelector('#' + slotId + ' iframe');      
            var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
            var img = iframeDoc.querySelector('img');                           
            if (img && img.alt) {                                               
                console.log('Got alt: ' + img.alt);                             
            }                                                                   
            if (event.creativeId) {                                             
                console.log('Got creative id: ' + event.creativeId);            
            }                                                                   
        }                                                                       
    });          
    

    这是现场:https://jsfiddle.net/50b4npw8/

    您可以在GPT活动中找到一些其他信息here