martya

doubleclick.exit vs clickTag?

Recommended Posts

Hi Guys,

I've been lurking on this forum for a while and have hit finally got to the point where I need to ask some questions. Firstly I'd like to say Hi and I really like what I've seen on this forum, I've been a full stack developer for 16 years but the banner world is fairly new to me (I did help out with some flash banners way back). The situation I'm in is I'm a tech lead, the previous front end dev used to look after the banners and the process was very adhoc. I have a freelancer with no banner experience so I'm trying to hold his hand through the process even though I don't know much more than him. I'm trying to put some processes and standards in place for banner development.

 

For the campaign that I'm working on currently, I've tried out this Yeoman generator - BuildABanner , using the DoubleClick template.

 

I like what I see, it's generating a nice folder structure, with nice gulp tasks and best practices (polite loading content etc). Using the DoubleClick template it makes proper use of the enabler events and it's triggering an Exit event as the clicktag. I can see in the console when I click on it that the enabler is receiving the event. 

 

Example;

bgExit = document.getElementById('background_exit_ad');

//Add Event Listeners for DoubleClick
addListeners = function() {
    bgExit.addEventListener('click', bgExitHandler, false);
}

bgExitHandler = function(e) {
    //Call Exits
    Enabler.exit('HTML5_Background_Clickthrough');
}

I've been tasked with developing some banners built to 'doubleclick' spec but will be served on two different networks/suppliers (Cadreon and Ansible). I'm still struggling to grasp the difference between the platforms and networks etc.

 

So I thought I'd do a test before sending it off to the media agency (so I don't look like an idiot). I tried out this DoubleClick Campaign Manager HTML5 Validator.

 

When I validate my banner (with the above click tag) it passes all the rules except for the click tag and says that it's not present. I thought that the enabler.exit event was the best practice way to do this? 

 

When I look back at some previous banners developed by my old front end dev, he had simply referenced the enabler.js, but implemented the click tag this way, marked up in the comments as "Standard ClickTag";

 

Example;

<html>
  <head>
    <meta name="ad.size" content="height=0,width=0">
    <script src="https://s0.2mdn.net/ads/studio/Enabler.js"></script>
    <script>
      var clickTag = "http://www.google.org";
    
     </script>
  </head>
<body>
    <a href="javascript:window.open(window.clickTag)">blah</a> 
</body> 
</html>

Adding this into my banner along side the exit event would be doubling up the events so as I see it - I should be using one or the other?

 

Is this tool just stupid? I don't mind simplifying the code and doing it the generic way but it makes more sense to me as a dev to use the proper events within enabler and it would also allow me to keep the buildabanner generated code as untouched as possible.

Also does anyone have any feedback on the buildabanner system itself?? Does anyone use it? Or do you use a different yeoman tool? Very keen to hear some real world feedback on this.

Thanks
Marty 

 

 

Share this post


Link to post
Share on other sites

The second example is the right one for DCM. You need to wire in the landing page URL and call that window.open().

They often require a static fallback.jpg too apart from the delivered .zip. It's size is not counted in.

 

CADREON is almost the same, expect they limit the animation to 15 secs. Plus they dont't need the Enabler.js. But I am not sure about this.

 

The fitrst one is must be good too because i have found a doc which is describing it:
https://support.google.com/richmedia/answer/2672517?hl=en
But don't ask what format is it. Maybe DBM?

 

These are the Google validators:

AdWords HTML5 Validator (GDN)
https://h5validator.appspot.com/adwords

DoubleClick Campaign Manager HTML5 Validator (DCM)
https://h5validator.appspot.com/dcm

DoubleClick Bid Manager HTML5 Validator (DBM)
https://h5validator.appspot.com/dbm

  • Like 2

Share this post


Link to post
Share on other sites

Hi martya,

 

Welcome to the active side of the forums! :D

 

Let's take it in parts:

 

BuildABanner:

No experience with it whatsoever. Can't comment but you said you kinda like it so, I see no issues there. One colleague (joe_midi) here uses a different one (BannerTime) as far as I can tell, it's the same thing but has more templates than just doubleclick. Guess it's down to personal preference. 

 

I as a freelancer, unfortunately, have not had the opportunity to settle with any template generator as I have to play with whatever workflow the agency I am working with.

 

AdPlatforms/Ad Networks:

If you were told to 'build to doubleclick' then, as a rule of thumb, that's all you should be concerned about. What you need to find out is which of the many Doubleclick incarnations of Doubleclick this is going to be. Because you have, being rather generic, GDN (Google Display Network) and DCRM (DoubleClick Rich Media)

 

In GDN, your clicktag will be like the one in your second example.

 

In DCRM your clicktag will be like the one in your first example.

 

The difference between the AdPlatforms and Ad Networks is the platforms will host the ad itself, provide the tracking and the API that you will use. So, your code talks to their code. The networks will define which sites will receive the ads, some of them will run real-time last second bidding, some of them will have allocated time/date slots. Their code will talk to the platform code. You generally don't have to be too concerned about the networks if you are building via a third party adPlatform (in this case, Doubleclick).

 

There's also a third player in this game, the Media Buyer but, it seems you don't have to be too concerned about this lot just yet.

 

I don't know the networks you have mentioned so, I can't tell if they run in GDN or DCRM, maybe Oliver15Years knows them, if so, his post holds the key to your answer. Otherwise, you will need to find out from the agency in charge of this which one is.

  • Like 5

Share this post


Link to post
Share on other sites

Enabler.js is only for Doubleclick Studio Rich Media campaigns (DCRM). You can certainly do rich media whether you need to or not, but there are costs associated with Rich Media.

 

The validator that failed your creative is for DCM. It is an either or situation as the APIs are different.

 

DCM has something called Enhanced banners with rich media like metrics. All DCM users were upgraded to Enhanced at no charge in the summer of 2015.

 

https://doubleclick-advertisers.googleblog.com/2014/02/take-advantage-of-engagement-metrics.html

 

For DCM you can use:

 

<script type="text/javascript">var clickTag = "https://www.google.com";</script>

 

And onclick="javascript:window.open(window.clickTag)"

 

You wrote: (I did help out with some flash banners way back).

 

You can use Flash with its new name Animate CC to export HTML5 Canvas banners, with custom publish templates so you never have to touch your HTML file.

 

http://blogs.adobe.com/animate/step-by-step-html5-ad-creation-with-adobe-animate-cc/

  • Like 4

Share this post


Link to post
Share on other sites

Thanks for all the awesome insight Oliver, Discom and Somnablast.

 

Its absolutely insane that it's still this complicated and that developers as experienced as Martya need to pull their hair out trying to get up to speed. 

How can these networks / platforms not all have simple sample ad templates that new developers can learn from and find easily?

 

Sheesh.

  • Like 3

Share this post


Link to post
Share on other sites

I'd say the adPlatforms each have their set of templates that you can use/learn from. The biggest cause of confusion is DoubleClick's many faceted hydra of a setup and Media Buyers inability to care to be specific.

 

Whenever a developer asks: "which platform is this going?" and gets "it's DoubleClick" as an answer, a kitty dies, an ulcer is born and he gets no closer to a solution.

  • Like 3

Share this post


Link to post
Share on other sites

It's the acronyms unfortunately. DCRM, DCM, GDN and DFP. Now if you don't know that you don't need to be using DCRM (no video, expanding, floating, lightbox, dynamic) and accidentally create DCRM banners, Google makes more $$$$$$

 

And then you have Adobe, who came out with animation software called Edge Animate, and then renamed  Flash to  Animate CC.

  • Like 1

Share this post


Link to post
Share on other sites

This is my simplified DOM ad tempate. This is working with all ad format what I know at the moment. My little app is filling in the necessary data into the {{double curly bracket}} placeholders.

<!DOCTYPE html>
<html>
<head>
<title>basicAdStructure</title>
<meta charset = 'UTF-8' >
<meta http-equiv = 'X-UA-Compatible' content = 'IE=edge' >
<meta name = 'viewport' content = 'width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1' >
<meta name = 'ad.size' content = 'width=300,height=250' >

<style>
html, body { padding: 0px; margin: 0px; background-color: darkgray; }
.System { position: absolute }
.Asset { position: absolute; background-repeat: no-repeat; }
#Stage { width: 300px; height: 250px; position: absolute; overflow: hidden; background-color: rgba( 190, 190, 200, 1 ); }
#{{clickTagId}} { left: 0px; width: 100%; height: 100%; bottom: 0px; opacity: 0; cursor: pointer; }
#logo { left: 104px; top: 90px; width: 92px; height: 70px; background-color: rgba( 0, 0, 0, 1 ); }
</style>
</head>

<body>
<div id = Stage >
<div id = 'logo' class = Asset ></div>
{{clickTag}}
</div>

{{engine}} <!-- adformat specific cdn link -->

<script src = 'https://s0.2mdn.net/ads/studio/cached_libs/tweenmax_1.19.0_643d6911392a3398cb1607993edabfa7_min.js' ></script>

<script>
window.onload = function()
{
    {{GSAP_Tween}}
};
</script>
</body>
<script>

    {{postscript}}  // short code snipplet to handle clicktag ( Attached postScrip.zip below )

</script>
</html>

And this is my precious little .json database which containing all the info needed to fill the above {{fields}} +more:
 

{
    "ADWORDS": {
        "name": "ADWORDS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_INLINE",
        "zip": true,
        "ziplimit": 150,
        "timelimit": 30,
        "engine": "<script src = 'https://tpc.googlesyndication.com/pagead/gadgets/html5/api/exitapi.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTag class = System onclick = 'window.open(ExitApi.exit());' ></div>",
        "clicktagid": "clickTag"
    },


    "DOUBLECLICK": {
        "name": "DOUBLECLICK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "landingpage": true,
        "engine": "<script> var clickTag = '{{landingPageUrl}}';</script>\r\n",
        "clicktag": "\t<a id = clickTag href = 'javascript:window.open(window.clickTag)' class = System ></a>",
        "clicktagid": "clickTag"
    },


    "CADREON": {
        "name": "CADREON",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "timelimit": 15,
        "fallback": true,
        "landingpage": true,
        "engine": "<script> var clickTag = '{{landingPageUrl}}';</script>\r\n",
        "clicktag": "\t<a id = clickTag href = 'javascript:window.open(window.clickTag)' class = System ></a>",
        "clicktagid": "clickTag"
    },


    "SIZMEK": {
        "name": "SIZMEK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "engine": "<script src=\"http://ds.serving-sys.com/BurstingScript/EBLoader.js\"></script>\r\n",
        "clicktag": "\t<div id = 'clickthrough-button' class = System ></div>",
        "clicktagid": "clickthrough-button",
        "postscript": "SIZMEK@postScript.js"
    },


    "SIZMEK_INTERSTITIAL": {
        "name": "SIZMEK_INTERSTITIAL",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "engine": "<script src=\"http://ds.serving-sys.com/BurstingScript/EBLoader.js\"></script>\r\n<script>EB.initExpansionParams(0, 0, 0, 0);</script>\r\n",
        "clicktag": "\t<div id = 'clickthrough-button' class = System ></div>",
        "clicktagid": "clickthrough-button",
        "customscript": "SIZMEK_INTERSTITIAL@script.js",
        "customstyle": "SIZMEK_INTERSTITIAL@style.css"
    },


    "ADVERTICUM": {
        "name": "ADVERTICUM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 300,
        "zip": true,
        "clicktag": "\t<a id = 'clickTAG' class = System href = '[cthref]' onclick = '(function () { document.getElementById(\"clickTAG\").href=HttpGetVars.cthref})();' ></a>",
        "clicktagid": "clickTAG"
    },


    "EASYHTML": {
        "name": "EASYHTML",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 300,
        "zip": true,
        "engine": "<script src = '//ad.adverticum.net/scripts/goa-helper.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTAG class = System ></div>",
        "clicktagid": "clickTAG",
        "postscript": "EASYHTML@postScript.js"
    },


    "EASYHTMLMOBILE": {
        "name": "EASYHTMLMOBILE",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 120,
        "responsive": true,
        "zip": true,
        "engine": "<script src = '//ad.adverticum.net/scripts/goa-helper.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTAG class = System ></div>",
        "clicktagid": "clickTAG",
        "postscript": "EASYHTML@postScript.js"
    },


    "GEMIUS": {
        "name": "GEMIUS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "comment": "To test it, append the landing page to the URL like this: #clickTag=http://www.google.hu",
        "clicktag": "\t<a id = 'creativelink' target = '_blank' class = System ></a>",
        "clicktagid": "creativelink",
        "postscript": "GEMIUS@postScript.js"
    },


    "IPROSPECT": {
        "name": "IPROSPECT",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "landingpage": true,
        "engine": "<script> var clickTag = ''; </script>\r\n",
        "clicktag": "\t<div id = clickTag class = System onclick = 'window.open( window.clickTag );' ></div>",
        "clicktagid": "clickTag"
    },


    "ASSETSONLY": {
        "name": "ASSETSONLY",
        "scripts": "none",
        "assets": "ASSETS_ROOT",
        "zip": false
    },


    "LOSSLESS": {
        "name": "LOSSLESS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_FOLDER",
        "zip": false
    },


    "IDNES": {
        "name": "IDNES",
        "enginetype": "lite",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "<a href = \"\" target = \"_top\" id = clickTag class = System ></a>",
        "clicktagid": "clickTag"
    },


    "CLICKATTACK": {
        "name": "CLICKATTACK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<div id = clickTag class = System onclick=\"mraid.open('${param_redirect_section1}');\" ></div>",
        "clicktagid": "clickTag"
    },


    "ECONOMIA": {
        "name": "ECONOMIA",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<a href = \"\" target = \"_blank\" id = clickTag class = System ></a>",
        "clicktagid": "clickTag",
        "postscript": "ECONOMIA@postScript.js"
    },


    "ADFORM": {
        "name": "ADFORM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "comment": "Adform is not limiting the ad size. Only the publisher",
        "zip": true,
        "landingpage": true,
        "timelimit": 30,
        "engine": "<script>document.write('<script src=\"'+ (window.API_URL || 'https://s1.adform.net/banners/scripts/rmb/Adform.DHTML.js?bv='+ Math.random()) +'\"><\\\/script>');</script>\r\n",
        "clicktag": "\t<div id = 'banner' class = System ></div>",
        "clicktagid": "banner",
        "postscript": "ADFORM@StandardAd.js"
    },


    "MAINSTREAM": {
        "name": "MAINSTREAM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<div id = 'clickArea' target = '_blank' class = System ></div>",
        "clicktagid": "clickArea",
        "postscript": "MAINSTREAM@postScript.js"
    },


    "IBILLBOARD": {
        "name": "IBILLBOARD",
        "scripts": "ENGINE_INLINE",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<a id = 'creativelink' href = '' target = '_top' class = System ></a>",
        "clicktagid": "creativelink",
        "postscript": "IBILLBOARD@postScript.js"
    }
}

+ AdForm requires a manifest.json (.zipped), filled with the information found above.

postScripts.zip

  • Like 5

Share this post


Link to post
Share on other sites

This is my simplified DOM ad tempate. This is working with all ad format what I know at the moment. My little app is filling in the necessary data into the {{double curly bracket}} placeholders.

<!DOCTYPE html>
<html>
<head>
<title>basicAdStructure</title>
<meta charset = 'UTF-8' >
<meta http-equiv = 'X-UA-Compatible' content = 'IE=edge' >
<meta name = 'viewport' content = 'width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1' >
<meta name = 'ad.size' content = 'width=300,height=250' >

<style>
html, body { padding: 0px; margin: 0px; background-color: darkgray; }
.System { position: absolute }
.Asset { position: absolute; background-repeat: no-repeat; }
#Stage { width: 300px; height: 250px; position: absolute; overflow: hidden; background-color: rgba( 190, 190, 200, 1 ); }
#{{clickTagId}} { left: 0px; width: 100%; height: 100%; bottom: 0px; opacity: 0; cursor: pointer; }
#logo { left: 104px; top: 90px; width: 92px; height: 70px; background-color: rgba( 0, 0, 0, 1 ); }
</style>
</head>

<body>
<div id = Stage >
<div id = 'logo' class = Asset ></div>
{{clickTag}}
</div>

{{engine}} <!-- adformat specific cdn link -->

<script src = 'https://s0.2mdn.net/ads/studio/cached_libs/tweenmax_1.19.0_643d6911392a3398cb1607993edabfa7_min.js' ></script>

<script>
window.onload = function()
{
    {{GSAP_Tween}}
};
</script>
</body>
<script>

    {{postscript}}  // short code snipplet to handle clicktag ( Attached postScrip.zip below )

</script>
</html>

And this is my precious little .json database which containing all the info needed to fill the above {{fields}} +more:

 

{
    "ADWORDS": {
        "name": "ADWORDS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_INLINE",
        "zip": true,
        "ziplimit": 150,
        "timelimit": 30,
        "engine": "<script src = 'https://tpc.googlesyndication.com/pagead/gadgets/html5/api/exitapi.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTag class = System onclick = 'window.open(ExitApi.exit());' ></div>",
        "clicktagid": "clickTag"
    },


    "DOUBLECLICK": {
        "name": "DOUBLECLICK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "landingpage": true,
        "engine": "<script> var clickTag = '{{landingPageUrl}}';</script>\r\n",
        "clicktag": "\t<a id = clickTag href = 'javascript:window.open(window.clickTag)' class = System ></a>",
        "clicktagid": "clickTag"
    },


    "CADREON": {
        "name": "CADREON",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "timelimit": 15,
        "fallback": true,
        "landingpage": true,
        "engine": "<script> var clickTag = '{{landingPageUrl}}';</script>\r\n",
        "clicktag": "\t<a id = clickTag href = 'javascript:window.open(window.clickTag)' class = System ></a>",
        "clicktagid": "clickTag"
    },


    "SIZMEK": {
        "name": "SIZMEK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "engine": "<script src=\"http://ds.serving-sys.com/BurstingScript/EBLoader.js\"></script>\r\n",
        "clicktag": "\t<div id = 'clickthrough-button' class = System ></div>",
        "clicktagid": "clickthrough-button",
        "postscript": "SIZMEK@postScript.js"
    },


    "SIZMEK_INTERSTITIAL": {
        "name": "SIZMEK_INTERSTITIAL",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "fallback": true,
        "engine": "<script src=\"http://ds.serving-sys.com/BurstingScript/EBLoader.js\"></script>\r\n<script>EB.initExpansionParams(0, 0, 0, 0);</script>\r\n",
        "clicktag": "\t<div id = 'clickthrough-button' class = System ></div>",
        "clicktagid": "clickthrough-button",
        "customscript": "SIZMEK_INTERSTITIAL@script.js",
        "customstyle": "SIZMEK_INTERSTITIAL@style.css"
    },


    "ADVERTICUM": {
        "name": "ADVERTICUM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 300,
        "zip": true,
        "clicktag": "\t<a id = 'clickTAG' class = System href = '[cthref]' onclick = '(function () { document.getElementById(\"clickTAG\").href=HttpGetVars.cthref})();' ></a>",
        "clicktagid": "clickTAG"
    },


    "EASYHTML": {
        "name": "EASYHTML",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 300,
        "zip": true,
        "engine": "<script src = '//ad.adverticum.net/scripts/goa-helper.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTAG class = System ></div>",
        "clicktagid": "clickTAG",
        "postscript": "EASYHTML@postScript.js"
    },


    "EASYHTMLMOBILE": {
        "name": "EASYHTMLMOBILE",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_ROOT",
        "kilobytelimit": 120,
        "responsive": true,
        "zip": true,
        "engine": "<script src = '//ad.adverticum.net/scripts/goa-helper.js' ></script>\r\n",
        "clicktag": "\t<div id = clickTAG class = System ></div>",
        "clicktagid": "clickTAG",
        "postscript": "EASYHTML@postScript.js"
    },


    "GEMIUS": {
        "name": "GEMIUS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "comment": "To test it, append the landing page to the URL like this: #clickTag=http://www.google.hu",
        "clicktag": "\t<a id = 'creativelink' target = '_blank' class = System ></a>",
        "clicktagid": "creativelink",
        "postscript": "GEMIUS@postScript.js"
    },


    "IPROSPECT": {
        "name": "IPROSPECT",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "landingpage": true,
        "engine": "<script> var clickTag = ''; </script>\r\n",
        "clicktag": "\t<div id = clickTag class = System onclick = 'window.open( window.clickTag );' ></div>",
        "clicktagid": "clickTag"
    },


    "ASSETSONLY": {
        "name": "ASSETSONLY",
        "scripts": "none",
        "assets": "ASSETS_ROOT",
        "zip": false
    },


    "LOSSLESS": {
        "name": "LOSSLESS",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_FOLDER",
        "zip": false
    },


    "IDNES": {
        "name": "IDNES",
        "enginetype": "lite",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "<a href = \"\" target = \"_top\" id = clickTag class = System ></a>",
        "clicktagid": "clickTag"
    },


    "CLICKATTACK": {
        "name": "CLICKATTACK",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<div id = clickTag class = System onclick=\"mraid.open('${param_redirect_section1}');\" ></div>",
        "clicktagid": "clickTag"
    },


    "ECONOMIA": {
        "name": "ECONOMIA",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<a href = \"\" target = \"_blank\" id = clickTag class = System ></a>",
        "clicktagid": "clickTag",
        "postscript": "ECONOMIA@postScript.js"
    },


    "ADFORM": {
        "name": "ADFORM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "comment": "Adform is not limiting the ad size. Only the publisher",
        "zip": true,
        "landingpage": true,
        "timelimit": 30,
        "engine": "<script>document.write('<script src=\"'+ (window.API_URL || 'https://s1.adform.net/banners/scripts/rmb/Adform.DHTML.js?bv='+ Math.random()) +'\"><\\\/script>');</script>\r\n",
        "clicktag": "\t<div id = 'banner' class = System ></div>",
        "clicktagid": "banner",
        "postscript": "ADFORM@StandardAd.js"
    },


    "MAINSTREAM": {
        "name": "MAINSTREAM",
        "scripts": "ENGINE_CDN",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<div id = 'clickArea' target = '_blank' class = System ></div>",
        "clicktagid": "clickArea",
        "postscript": "MAINSTREAM@postScript.js"
    },


    "IBILLBOARD": {
        "name": "IBILLBOARD",
        "scripts": "ENGINE_INLINE",
        "assets": "ASSETS_AUTOINLINE",
        "kilobytelimit": 200,
        "zip": true,
        "clicktag": "\t<a id = 'creativelink' href = '' target = '_top' class = System ></a>",
        "clicktagid": "creativelink",
        "postscript": "IBILLBOARD@postScript.js"
    }
}

+ AdForm requires a manifest.json (.zipped), filled with the information found above.

 

Hey man! This is what I needed!!! Thanks for this! may I improve this great stuff?

Share this post


Link to post
Share on other sites

Sure WarenGonzaga. I wanted to ask all of You for more adFormat info, to put into this .json.

  • Like 1

Share this post


Link to post
Share on other sites

Sure WarenGonzaga. I wanted to ask all of You for more adFormat info, to put into this .json.

 

You can put it on Github so we can fork it and contribute buddy! Would be great idea!

Share this post


Link to post
Share on other sites

Thankyou guys sooo much for the replies, I'm overwhelmed! Sorry for the late reply, I've been flat out working on so many things #agencylife

 

After reading the info about DCRM and DCM I seeked clarification from the media agency and as most of you suspected, by "doubleclick" they mean't DCM. So I've refactored the click tags and it's all good. 

I will test out BannerTime and WarenGonza's workflows. Buildabanner is going alright but it doesn't fit my workflow perfectly. It's done the job for this campaign, but I'm thinking of either forking out the best workflow I can find or writing my own. 

  • Like 2

Share this post


Link to post
Share on other sites

Thankyou guys sooo much for the replies, I'm overwhelmed! Sorry for the late reply, I've been flat out working on so many things #agencylife

 

After reading the info about DCRM and DCM I seeked clarification from the media agency and as most of you suspected, by "doubleclick" they mean't DCM. So I've refactored the click tags and it's all good. 

 

I will test out BannerTime and WarenGonza's workflows. Buildabanner is going alright but it doesn't fit my workflow perfectly. It's done the job for this campaign, but I'm thinking of either forking out the best workflow I can find or writing my own. 

 

Hello Martya! Thanks! Actually I have my own banner boilerplate for banner making for the fastest as I can. This is looks like on the workflow of Oliver25Years which has complete resources for all banner type and I love that. Because my banner boilerplate is build for DoubleClick studio and DCM only so this is great Idea may be I will put that on Github but I need permission from Oliver25Years for his awesome codes!

  • Like 1

Share this post


Link to post
Share on other sites

Sure WarenGonzaga, feel free to use the information for any purpose. ( except evil )

  • Like 2

Share this post


Link to post
Share on other sites

Did you guys finally put this code on GitHub?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.