Skip to content

Troubleshooting Paywall Issues

The Arc XP Subscriptions paywall runs on the client-side, so reproducing issues requires detailed information from your environment. Use this checklist to diagnose common problems and gather the artifacts the Arc XP Subscriptions team needs before contacting support.

Step 1: Do you have a paywall deployed?

In the Admin tool, you need to define the paywall rule(s) and deploy them:

  1. Go into the Admin tool and create rule(s) under the Paywall tab.
  2. Create a Ruleset, including all the rules that will be part of the paywall.
  3. Under the Overview tab, create a paywall and start it.
  4. Once the previous steps are followed, you will be able to see an “Active” paywall.

When a paywall is started, disabled, or enabled, the retail API invokes the paywall deployer lambda, which packages up the enabled ruleset, creating copies of p.js, p.min.js (minified version), and p.html into S3. These files live at a path like:

https://your.domain.com/arc/subs/p.js

Example: https://subssinglesite-the-daily-intelligencer-prod.web.arc-cdn.net/arc/subs/p.js

The first lines of the file should show var ArcPWPaused = false.

If the file contains ArcPWPaused = true, you will need to re-deploy the paywall via the Admin tool. If the issue persists after re-deploying the paywall, please notify the Arc XP Subscriptions team.

Step 2: Are you loading the script (p.js, p.min.js) each time you are loading a page?

To check if the p.js/p.min.js script is being loaded each time you are loading a page, you will need to inspect the page (Inspect Page In Chrome), and then go into the Sources tab and you will find the p.js/p.min.js file. If this script is being executed correctly, you will see the ArcP object under Local Storage/domain. The ArcP object contains all the info about the rules, subscriptions, and the count of articles already visited.

The meaning for each one of the attributes on the ArcP object can be found in Developer Guide: Setting up a Paywall. Each time a user is visiting a new page, this script runs, then the ArcP object is updated depending on the ruleset you have deployed.

Step 3: Are you experiencing unexpected behavior?

If you are facing unexpected behavior, please send us a record where we are able to see each page you are visiting (provide each link page — step by step). At the same time, we need to see the changes in the ArcP object. Please describe what behavior you are expecting.

Capture a HAR file

The first time a new user visits the site (first page), each time the user hits the paywall, or 24 hours after the last call to entitlements, p.js/p.min.js makes a call to /sales/public/v1/entitlements. This call gathers all the information about the user’s subscriptions and geolocation, which the script uses while evaluating the rules. This information is very useful for troubleshooting.

Please export a .har file from the browser (see How to create a HAR (HTTP archive format) file) and make sure the request to /sales/public/v1/entitlements is included.

Understand the 24-hour entitlements cache

If the user has access to the content — i.e. the user has an active subscription — /entitlements will be fetched 24 hours later. If a subscription was recently terminated, the user will see the content for 24 hours after the last fetch to /entitlements. After 24 hours, they’ll hit the paywall.

Also, check whether the IP address on the user side is falling into group packages based on IP address.

Narrow down environment-specific issues

If the ArcXP Subscriptions team is unable to reproduce the issue in our testing environment, we will need to look at your implementation. Please provide links to your code where the paywall was implemented. If the issue is not happening for all users:

  • Is it happening in all browsers on the same device?
  • Are you seeing this issue in regular or incognito mode?
  • Is it happening on different devices for the same user?
  • Check if you have an ad blocker or extensions enabled that could be preventing our script from executing.
  • Check the browser settings. Your browser must be allowing cookies.

Information to include when contacting support

Provide as much of the following as you can:

  • OS version
  • Browser version
  • Browser extension list
  • Browser settings
  • .har files
  • Records (screen recordings or step-by-step links) showing the wrong behavior
  • The ArcP object contents at the time of the issue