Dynamic paywall

Businesses can choose between a metered or premium paywall as well as who to target directly from their dashboard. Publishers can choose to create multiple paywalls with different currencies, messages, prices, etc. Then, they set their targeting based on a user's location, device, interests and more. A/B testing is a key component that is enabled through the creation of multiple subscription plans and different targeting capabilities.

Our dynamic paywall can either be presented inline to cover content or article(s), alternatively it can be a pop-up/modal style that covers the entire page. We provide several types of paywalls, including Embedded Paywalls, Wide-Meter Paywalls, Regular-Meter Paywalls, and Newsletter Paywalls. You can check out some examples for our paywall in action here.


Segmentation capabilities

  • Geolocation
  • Engagement history
  • Customer properties
  • Newsletter properties
  • Adblock status
  • Content properties
  • Referral source
  • Device type
  • Open graph tags
  • Meta tags


You can target the paywall to specific articles by using The Open Graph Protocol (OGP) to tag the articles you want to target. Most content management systems have plugins or default features that allow you to control the "article:tag" embedded into the page.

For example, if you want to target articles tagged as "premium".

1- Ensure those articles have the following "article:tag" meta tag in the head of the HTML page

    <head lang="en">
        <meta property="article:tag" content="premium">

2- Add the premium keyword to the product configuration in the targeting section in the field called "Meta tags"

You can also leverage some of our paywalls to accept user information in exchange for access to gated-content or additional free content, and accordingly, this can be used as a lead generation solution for your marketing campaigns.


Pelcro (by default) detects all search crawlers and disables the paywall for them. This is done to ensure that the crawler can read the content and index it fully within the search engine. This behavior can be customized.

Below is the regex used to detect crawlers from the user agent.

"(googlebot/|Googlebot-Mobile|Googlebot-Image|Googlebot|Google favicon|Mediapartners-Google|Googlebot-News|Googlebot-Image|Googlebot-Video|AdsBot-Google|bingbot|slurp|java|wget|curl|Commons-HttpClient|Python-urllib|libwww|httpunit|nutch|phpcrawl|msnbot|jyxobot|FAST-WebCrawler|FAST Enterprise Crawler|biglotron|teoma|convera|seekbot|gigablast|exabot|ngbot|ia_archiver|GingerCrawler|webmon |httrack|webcrawler|grub.org|UsineNouvelleCrawler|antibot|netresearchserver|speedy|fluffy|bibnum.bnf|findlink|msrbot|panscient|yacybot|AISearchBot|IOI|ips-agent|tagoobot|MJ12bot|dotbot|woriobot|yanga|buzzbot|mlbot|yandexbot|purebot|Linguee Bot|Voyager|CyberPatrol|voilabot|baiduspider|citeseerxbot|spbot|twengabot|postrank|turnitinbot|scribdbot|page2rss|sitebot|linkdex|Adidxbot|blekkobot|ezooms|dotbot|Mail.RU_Bot|discobot|heritrix|findthatfile|europarchive.org|NerdByNature.Bot|sistrix crawler|ahrefsbot|Aboundex|domaincrawler|wbsearchbot|summify|ccbot|edisterbot|seznambot|ec2linkfinder|gslfbot|aihitbot|intelium_bot|facebookexternalhit|yeti|RetrevoPageAnalyzer|lb-spider|sogou|lssbot|careerbot|wotbox|wocbot|ichiro|DuckDuckBot|lssrocketcrawler|drupact|webcompanycrawler|acoonbot|openindexspider|gnam gnam spider|web-archive-net.com.bot|backlinkcrawler|coccoc|integromedb|content crawler spider|toplistbot|seokicks-robot|it2media-domain-crawler|ip-web-crawler.com|siteexplorer.info|elisabot|proximic|changedetection|blexbot|arabot|WeSEE:Search|niki-bot|CrystalSemanticsBot|rogerbot|360Spider|psbot|InterfaxScanBot|Lipperhey SEO Service|CC Metadata Scaper|g00g1e.net|GrapeshotCrawler|urlappendbot|brainobot|fr-crawler|binlar|SimpleCrawler|Livelapbot|Twitterbot|cXensebot|smtbot|bnf.fr_bot|A6-Indexer|ADmantX|Facebot|Twitterbot|OrangeBot|memorybot|AdvBot|MegaIndex|SemanticScholarBot|ltx71|nerdybot|xovibot|BUbiNG|Qwantify|archive.org_bot|Applebot|TweetmemeBot|crawler4j|findxbot|SemrushBot|yoozBot|lipperhey|y!j-asr|Domain Re-Animator Bot|AddThis)"


Pelcro leverages a combination of technologies to enforce a stringent paywall. We expose paywall properties via cookies so that you can enforce stick measures related to the paywall via a server-side implementation by maintaining a record of paywall properties that you can then store locally and constantly validate for accuracy. This can be customized based on your needs and depending on how strict you want the paywall to be.


How do you prevent the paywall from being blocked by AdBlockers?

Typically AdBlockers don’t target regular paywalls, however, where the case arises, there are many solutions to explore which would leverage available meter and user data within sessions and cookies, and this makes it possible to explore multiple strategies based on your backend or content management system:

  • One strategy is that content can partially be loaded from the server (for example, only the first paragraph), and then you can leverage JavaScript to retrieve the remaining content based on a set of criteria or requirements.
  • If you are using Wordpress as your content management system, our Wordpress plugin is equipped with a backend implementation that circumvents AdBlockers by constantly randomizing where JavaScript is being served from. The same strategy can also be deployed for other content management system providers.

How do you prevent privacy and tracker blockers?

Tracker blockers will have no direct impact our solution, since this type of software is mostly focused on blocking advertising and third party cookies. That being said, tracker blockers may impact third party integrations which our platform would have with Customer Data Platforms, among other tools. There are ways of preventing these tools from blocking your services, however, this would require a similar implementation of loading the scripts from the server.

Updated 15 days ago

Dynamic paywall

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.