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

Intent to Implement: contentpass - a cross-site subscription for ad and tracking free access #37521

Open
0x7f opened this issue Jan 30, 2022 · 4 comments
Labels
INTENT TO IMPLEMENT Proposes implementation of a significant new feature. https://bit.ly/amp-contribute-code Stale Inactive for one year or more

Comments

@0x7f
Copy link
Contributor

0x7f commented Jan 30, 2022

Summary

This proposes an amp-access-contentpass extension for the contentpass service.

First some context. In the EU, many sites use the so called PUR model (pur is German for pure) where people can pay a small amount of money to disable ads and tracking. The user ends up with a consent screen with either the option to accept all ads and tracking, or create a PUR account and pay a monthly fee for ad and tracking free access. The model has nothing to do with premium content, it is completely orthogonal to that. It is really just ad and tracking free access to content that is free either way.

Contentpass offers this PUR model as a cross-site subscription. A user can register for a contentpass once and get ad and tracking free access to all partner sites (list can be found here: https://my.contentpass.net/publications).

Technically, we integrate into the CMP (ConsentManager, OneTrust, Usercentrics, SourcePoint, etc.) and use them for managing the consent (accept all or deny all). Usually, we hide the CMP's wall and display our own IAB-compliant wall. But we also allow usage of the CMP wall if it supports integrating our SDK. If a user logs in via Contentpass, we revoke all consent. All others have to give full consent.

Design Document

No response

Motivation

There is the amp-consent extension that already supports the CMPs we support as well.

And there are amp-access based extensions for cross-site subscriptions, e.g. amp-access-scroll which has (actually, had, before they were bought by twitter) a very similar business model to ours.

But there is no extension yet that offers the choice of using a subscription or giving full consent. Therefore, I'd like to propose the amp-access-contentpass extension which does it:

  • Connect to the existing amp-consent extension and use it for managing the consent
  • Display the choice of either "accept all" or "login with contentpass"
  • Allow users managing their consent using the amp-consent module as usual
  • Watch for consent changes and display the choice again if a non-contentpass user revoked some/all consent

Alternative Solutions

A potential alternative is to ask all CMP vendors to modify their AMP prompts (the promptUISrc entries listed in cmps.js) to include Contentpass integration and just rely on the amp-consent extension. This would require though that a user can be sent to our signup/login funnel from within the consent prompt, which I doubt is possible with the current implementation.

We also did not go down this path in the normal web version. We don't want to wait for all CMPs to modify their product and integrate us, but we just use the already existing API to hook into the according events. Therefore, it is not a path we want to go with AMP either.

Launch Tracker

No response

Notifications

/cc @ampproject/wg-approvers

@0x7f 0x7f added the INTENT TO IMPLEMENT Proposes implementation of a significant new feature. https://bit.ly/amp-contribute-code label Jan 30, 2022
@powerivq
Copy link
Contributor

powerivq commented Feb 17, 2022

Interesting idea. To have no-analytics, what if we ask publishers to put the amp-analytics inside the container, and if the user is logged in, we just ignore the amp-analytics? I think that largely gets rid of the complexity of having to deal with revoking CMP consent (the users are able to do that anyways even if unpaid, right?).

@0x7f
Copy link
Contributor Author

0x7f commented Feb 18, 2022

@powerivq thanks for you feedback. Can you please elaborate a bit on the container approach?

the users are able to do that anyways even if unpaid, right?

In the web version we watch for consent changes. If user removes consent, we display the wall again so the user can chose again between ad-based monetization or contentpass-based monetization of the website. This can also happen if the user already gave partial consent before contentpass was introduced, or when the vendorlist changes and the previous consent is not a "full consent" anymore.

In case we want to replicate this behaviour in the AMP version, we would have to somehow interact with the consent extension as well. As a first step, it is okay though to allow it and solve it in a second step.

Do you know whether it is possible to include the CMP extension in a site, but hide its layer? Instead of the consent layer, I would then show a contentpass layer with the two choices ("Accept All" and "Signup"/"Login"). The "Accept All" case delegates to the consent extension and stores the according consent. Everything that was connected to the consent module so far, keeps working as is. The Signup/Login case is new and will send the user to our funnel. Do you think this is something easy to build? Or would you go a different way?

@powerivq
Copy link
Contributor

@0x7f I would suggest writing your own CMP integration (as amp-consent). In your CMP, you can offer logging in in your own iframe. If you want to load another CMP's consent popup inside your consent iframe, that would be your prerogative.

@stale
Copy link

stale bot commented Mar 19, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Stale Inactive for one year or more label Mar 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
INTENT TO IMPLEMENT Proposes implementation of a significant new feature. https://bit.ly/amp-contribute-code Stale Inactive for one year or more
Projects
None yet
Development

No branches or pull requests

2 participants