Search code examples
jquerygoogle-dfp

lazy-loading doubleclick ads versus enableSingleRequest()


In an attempt to increase Active In-View metrics, I'm trying to defer a display ad call (googletag.display('ad-' + adLocation)) by wrapping it in an 'in-view' check (using jquery.inview), but this only seems to work if I disable googletag.pubads().enableSingleRequest(); Am I correct in understanding that enableSingleRequest() is overriding my calls to googletag.display?

To clarify, enableSingleRequest is necessary in order for us to serve guaranteed roadblocks, but we also need to ensure that ads are only being served when they are in-view. Is this even possible?


Solution

  • New Answer:

    Google Ad Manager (how DFP is now named) now provides a configurable LazyLoad parameter which can be used with enableSingleRequest().

    Old Answer:

    At face value, no.

    What you could do is render different blocks of ads with different Single Requests, so you render your road-blocked slots together, and other ads at other times.

    The problem is that, as far as I know, DFP resets the correlator every 30 seconds, so if you don't use Single Requests, you risk losing your roadblocks, which depend on the correlator to know they're part of the same request.

    Another tactic you could try is to wait 25 seconds or so to render your below-the-fold ads; they would still be rendered within Same Correlator Time, ensuring a roadblock, but if the user closes the window before that, the ad doesn't render, increasing your viewability ratio. But I haven't tried that myself (I'm currently researching this very issue...)