Skip to content
Product Documentation

Troubleshooting Paywall Issues

The Arc XP Subscriptions paywall runs on the client-side. For this reason, if you are experiencing issues with the paywall you will need to provide detailed steps for the Arc XP Subscriptions team to reproduce the issue. Any records and additional information will be very useful to start investigating and debugging.

Please go through the following steps and send us all the information that could be useful for investigating and troubleshooting the issue.

Step 1: Do you have a paywall deployed?

On the admin tool, you need to define the paywall rule(s) and deploy these rules. For this you need to follow the next steps:

  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 & 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 lamda, which packages up the enabled ruleset, creating copies of p.js, p.min.js (minified version), and p.html into S3. These files live in something 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 you should see var ArcPWPaused = false

If the file contains ArcPWPaused = true, you will need re-deploy the paywall via 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: Getting Started With The Paywall. Each time a user is visiting a new page, this script runs, then the ArcP object is updated depending of the ruleset you have deployed.

IMPORTANT NOTE: If the paywall behavior is updated with new features and you want to use the updates, you will need to re-deploy the paywall.

Step 3: Are you experiencing unexpected behavior?

If you are facing an unexpected behavior, please send us a record where we are able to see each page you are visiting (Provide us each link page - step by step). At the same time, we need to see the changes in the ArcP object. Please, describe what is the behavior you are expecting.The first time a new user is visiting the site (first page), each time the user is hitting the paywall, or 24 hours later the last call to entitlements,  the p.js/p.min.js is making a call to /sales/public/v1/entitlements. This call will gather all the information about the subscriptions the user has, and also the geolocation information. And all this information is used while the script is running and evaluating the rules. This information is very useful for us to troubleshoot the issue. 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 in this file.

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, please check if the IP address on the user side is not falling into group packages based on IP Address.

In case the ArcXP subscriptions team is unable to reproduce the issue in our testing environment, our team will need to take a look into 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 on 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.

Provide as much information as you can, eg. OS version, Browser version, browser extension list, browser settings, .har files, records showing the wrong behavior and ArcP object, etc