We serve most of our ads using Appnexus, but now and then we need to use a different adserver. Recently we wanted to upload our creative to Google’s DoubleClick Campaign Manager (DCM), part of the DoubleClick Digital Marketing platform. DCM has quite a lot of requirements for the creatives that are uploaded. For istance, you have to put all the assets in the root of the ZIP, all external assets need to be loaded over HTTPS and they do not allow 404’s. These requirements actually make sense.

My initial upload was declined by DCM. The reason for the rejection was a missing image, transparent.png. I was quite suprised by it, because I’ve checked the creative against all their requirements.

So I started looking for transparent.png in to the source code of the creative, and ran into this code snippet:

if (splash.isPreviewer) {
    elm.style.backgroundImage = 'url(/images/transparent.png)';
  }
  

The weird thing is that this code never executes in a production envirnonment, because splash.isPreviewer is only evaluated to true when the code is executed in our own tool Splash.Create. Does this mean that DCM scans the source code to validate the uploaded creative, instead of looking what code is actually executed in the browser? Just to verify this, I changed the code to this:

if (false) {
    elm.style.backgroundImage = 'url(/images/transparent.png)';
  }
  

Yep. Still no luck. It looks like they just run a regular expression on the source to identify images and see if the matched assets exist in the uploaded ZIP. I’m curious why they have chosen this approach, mostly because the increase of dynamic content in creatives where the initial source code can potentially be totally different for every viewer.

A few months ago I also got a weird error message in DCM saying "I can’t use the variable u in the source code". I never understood what was going on there.

My overall feeling is that their validation process is very strict and over-automated. Over a year ago I’ve read some docs by Google in which they (of course) recommend using their HTML5 authoring tool Google Web Designer, and maybe DCM’s validation process is optimised for creatives that are built with GWD as well.

Leave a Reply