I once worked on a redesign for a site, and one of the sections I worked on was the "photo gallery" section. I had a beautiful JavaScript-based photo gallery which had nice transitions between photos, it was pretty slick and nice and fast. It even degraded to full page-loads if you didn't have JavaScript enabled.
In the end, I had to take out my beautiful JavaScript-based gallery and present the "degraded" experience all the time because after it went live, pageviews dropped "dramatically" and the ad people didn't like that.
In retrospect, I probably could've just refreshed the ads via JavaScript when I transitioned to a different photo, but the potential drop in ad revenue meant I was having to work quickly...
In retrospect, I probably could've just refreshed the ads via JavaScript when I transitioned to a different photo
Dynamically refreshing ads usually is not allowed with ad networks, since it can be abused to inflate adviews. For example, look at the AdSense policy:
"Any method that artificially generates clicks or impressions on your Google ads is strictly prohibited. These prohibited methods include, but are not limited to, repeated manual clicks or impressions, automated click and impression generating tools and the use of robots or deceptive software. "
Whether or not using javascript falls under the category of "impression generating tools" is probably open for discussion, but I wouldn't be surprised if Google didn't like this.
Yeah, I would think updating ads based on a user click is fine, whether that click is a full page reload or a javascript partial page refresh. But ad networks can be pretty capricious so who knows.
I am in no way an expert in this area. All I know is that the TOSes of ad networks are usually vague but very strict in this area, because of fears of abuse. You should probably talk to your account manager to get an exception / clearance prior to releasing code that dynamically refreshes ads via javascript.
When I talked to ad networks about this, almost all of them would not let us use any method to refresh ads without the user generating a new pageview, even though our users would spend many hours on the same page.
In the end, I had to take out my beautiful JavaScript-based gallery and present the "degraded" experience all the time because after it went live, pageviews dropped "dramatically" and the ad people didn't like that.
In retrospect, I probably could've just refreshed the ads via JavaScript when I transitioned to a different photo, but the potential drop in ad revenue meant I was having to work quickly...