The Bolt paywall is presented to users when they try to view content that they aren’t entitled to, and guides them in how they can gain access.
We’ve designed the paywall to work with publications offering in app purchases, 3rd party authentication (either using our UI or a web-based login flow) or, as in most cases, both of these options.
This doc serves to highlight the various elements of the paywall and how they can be customised.
You can choose all of the colours and fonts on the paywall, as the wall as the logo icon, though initially these will inherit the theming of the rest of the app to appear cohesive and this is often sufficient.
The order, size and shape of the buttons is fixed. We apply logic to display only the buttons that are relevant to the user and app. They can be themed independently of one another.
The copy on the paywall is drawn from several places, this is to ensure it’s as relevant as possible to the user and their situation. These are listed below. All of these are localised in our supported languages.
Introduction: this is set in the app, and can be used to explain to the user why they’re seeing the paywall and what their options are
Authorisation status: this copy only appears in the case of a use who is signed-in but is not entitled to the content. Currently the most common example of this is users who have cancelled their subscription in your authentication service. This text will inform then why they aren’t entitled and what their options are. In this case we’ll also still display the in app purchase button, as a way for them to gain access.
IAP button: The price here is pulled from the relevant App Store (App Store Connect or Google Play) and takes into account the users eligibility for introductory pricing, so should always accurately reflect the lowest price they’ll pay. This can overwritten to just be a normal string, and not feature pricing information. Prices will be localised to the user’s app store currency.
Sign in button: this is set in the app. If your authentication service uses a specific identifier (such as member number) in lieu of a standard email-password combination it can be wise to explain that here. i.e. “Sign in with member number”, but be mindful of the limited space a button provides.
Cancel button: this is set in the app
All strings set in the app can be changed over the air with a new config, but note that a user will have to open the app to download the config and it will be applied the next time the user opens it.