Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Capture "view time" for ads #359

Closed
davidfischer opened this issue Apr 7, 2021 · 0 comments · Fixed by #418
Closed

Capture "view time" for ads #359

davidfischer opened this issue Apr 7, 2021 · 0 comments · Fixed by #418
Labels
Feature New feature

Comments

@davidfischer
Copy link
Collaborator

This issue is to provide scoping around a new feature to capture the "view time" for a particular ad when it's viewed. This would require the server to store how long an ad has been viewed and the client to send updates on how long an ad was viewed for. We think that advertisers may find this valuable and might even pay more when ads are viewed for longer times (static ads providing revenue similar to video ads). Likewise, publishers with more "view time" per view should be compensated more than just a straight CPM number. This might also enable a change to where ads change periodically (eg. readthedocs/ethical-ad-client#24) for SPAs or long-viewed pages.

Changes to the server

  • The server would need a place to record the view time for a particular "view". This could probably just be a positive integer field (seconds? milliseonds?) on the Offer model.
  • The server would need an API to increment/set the view time for a particular "view". We should probably cap any particular view at a maximum of 30s.
  • Our reporting interface could show aggregated view time for advertisers and "view time per view" or some other similar metric to allow comparing across advertisers.
  • For publishers, we should show the average view time in the reporting and overview screens. This would allow comparing publishers.

Changes to the client

  • The client will need to start a timer once the ad is in the viewport. Whenever the ad leaves the viewport, the timer stops.
  • The client will need to send one or more updates about how much an ad has been viewed. Ideally, this would be onunload but it could send it "periodically" (exponential backoff up to a max of maybe 30s) if that isn't reliable. We want to be very careful of performance here. Ads have historically been bad for web performance and we don't want to make it worse.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature New feature
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant