Changing paywall wording & offering content preview

Hi all, I’m relatively new to Ghost. I’d like to change the “this post is for subscribers only” text, and I’d like to be able to offer a preview (maybe the first few paragraphs) to people who aren’t subscribers to entice them. Anyone know how to do this?

The second is easy. You need a ‘public preview’ card, which is available on the big plus menu when you’re in the post editor. You also need to set the post access (in the right side menu) to ‘members only’ or ‘paid members only’.

The first requires editing the theme. If your theme doesn’t have a content-cta.hbs in the partials folder, you’d want to grab the default one and put it there, then edit it - here it is:

(Some themes may also have a CTA coded in a different file, so try searching for the exact wording if changes to content-cta.hbs don’t fix you up.)

Thank you so much, Cathy! Public preview is so helpful. On the first one though, where would I find the “content-cta.hbs in the partials folder?” When I’m in settings and looking at the theme, I don’t see anything like that.

You’d need to download the theme, make edits, and upload. It isn’t something you can do in the admin panel.

1 Like

Hi Cathy (or other forum angels!)

Do you know if it’s possible to customize the paywall text depending on the tiers that have access to the content?

What I currently have set up with custom code is a custom paywall text for posts that require a free subscription only, and a custom paywall text for posts that require a paid subscription.

However, I’ve made some changes to my subscription options, and instead of offering a paid and a free, I now have three paid tiers:

1st tier: A (archive access to a newsletter I’ve retired, one-time payment option)

2nd tier: B (paid subscribers to current newsletter)

3rd tier: A + B

So in an ideal world I’d be able to specify in the paywall text which subscription they need to choose to gain access to that post (A or B) when they click through to the signup page. (The third tier I currently manually add them to if they’ve bought both.)

Happy to send over what my current code looks like if that’s helpful but essentially what I have is {{#has visibility=“members”}} to specify the free subscription custom paywall text and then {{else}} to specify the paid subscription custom paywall text, and what I’m unsure of is how to create “has visibility” rules by tiers (if that’s even possible).

Many thanks!

You may find a look at the default behavior to be helpful:

Thank you so much, Cathy! So I think what I’m trying to figure out is this part of it:

{{#has visibility="tiers"}} {{#is "page"}} <h2>{{{t "This page is for subscribers on the {tiers} only" tiers=(tiers separator=", " lastSeparator=(t " and "))}}}</h2>

Let’s say I have tiers named “A,” “B” and “C” (which is just A+B). If I write it like this:

{{#has visibility="tiers"}} {{#is "page"}} <h2>{{{t "This page is for subscribers on the {A} only" tiers=("A" and "C")}}}</h2>
{{#has visibility="tiers"}} {{#is "page"}} <h2>{{{t "This page is for subscribers on the {B} only" tiers=("B" and "C")}}}</h2>

Will that create the behavior I want where I have two different paywall texts, depending on which tier has access?

Will that create the behavior I want where I have two different paywall texts, depending on which tier has access?

No. You’re checking for whether the content has ‘tiers’ visibility’, then for whether the context is a page (not post), and that’s it. So you’d get both lines. Except you’ve got an error, since you’re not passing a value for {A} or {B}, only for tiers.

The {{tiers}} helper returns a list of tiers that have access to the content.

It sounds like you’re trying to write just the first tier, in your paywall message?

{{#foreach tiers}}
   {{#if @first}} 
       <h2>This page is for subscribers on the {{name}} tier only</h2>
   {{/if}}
{{#foreach}}

… if the A/B tier is not always the first tier, you could instead try checking to see if the tier does not match C.

Well basically the C tier, because it includes everything, will never see the paywall message unless they’re not logged in. So the paywall message just needs to be customized to the two tiers (A and B) who each only have access to half the site. Essentially, I’m trying to make it super clear which tier people need to select to get access to the post they want, minimizing people upgrading to the wrong tier.

Would something like this work, given that every paywalled page is either set for tiers A and C to access, or for tiers B and C to access? (And then there are a few pages that are blocked for subscribers only as a way to get more emails.)