There are two kinds of logic in this module: Default behaviour (e.g., "show personalised ads unless an individual visitor has opted out"), and visitor-specific logic ("I'd like to see non-personalised ads"). Currently, those two sets of options are combined server-side, and the HTML includes the necessary JS to serve the correct ads for this particular visitor.

That means that certain configurations of this module require it to disable page level caching. That's a bad thing.

This is solvable. All the visitor-specific logic is the result of the contents of a single cookie. Cookies can be read by the front-end, so it should be possible to have the defaults affect the HTML that is served up, and leave anything visitor-specific to be worked out on the fly by the JS that loads the ads. That would then mean page-level caching works however the module is used.

Comments

JamesOakley created an issue. See original summary.

  • JamesOakley committed 1c0a07b on 7.x-1.x
    Issue #2991164 Move all visitor specific logic to front end.
    
jamesoakley’s picture

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.