Skip to content

Ghost Content Gating — Access Levels, Portal and Paid Content

DodaTech Updated 2026-06-28 9 min read

In this tutorial, you'll learn how to gate content behind membership levels in Ghost — setting per-post access levels, configuring the Portal for member signups, creating effective content strategies for paid tiers, and optimizing the reader-to-member conversion funnel.

What You'll Learn

  • Per-post visibility settings: Public, Members, Paid
  • How Ghost renders gated content to non-members
  • The Portal signup prompt and customization
  • Content strategies for free vs paid content
  • Email-only content for subscribers
  • The member conversion funnel: from Visitor to paid member
  • Using excerpts and previews to encourage signups
  • Analytics for member content performance
  • Best practices for content monetization

Why It Matters

Content gating is how you convert readers into paying members. Getting it right means more subscriptions. Getting it wrong means frustrated readers who leave. Ghost gives you granular control over who sees what, down to the individual post level. Understanding how to balance free content (to attract readers) with paid content (to generate revenue) is the key to a successful membership business.

Real-World Use

A financial analysis site publishes three articles per week. One is free (market overview, attracts SEO traffic), one is members-only (detailed analysis, requires email signup), and one is paid-only (investment recommendations, requires $19/month tier). Each post type builds on the previous — free content demonstrates expertise, members-only content builds trust, and paid content delivers the highest value. This creates a natural funnel from visitor to paid subscriber.

Learning Path

flowchart LR
  A["Membership System"] --> B["Content Gating
You are here"]:::current B --> C["Newsletter Setup"] C --> D["Subscriber Management"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px

Post Access Levels

Every post and page in Ghost has a visibility setting with three levels.

Public

Visible to anyone who visits your site. No authentication required.

Use for:

  • SEO-optimized content that attracts visitors
  • Content that demonstrates your expertise
  • Sample articles that showcase your writing quality
  • "Evergreen" content that drives ongoing traffic

Members Only

Visible to any signed-in member, including free tier members.

Use for:

  • Content that builds your email list
  • Exclusive articles for subscribers
  • Weekly roundups and digests
  • Content that is valuable but not your highest-value material

Visible only to members with an active paid subscription.

Use for:

  • Your best, most valuable content
  • In-depth analysis and research
  • Premium resources and tools
  • Content that justifies the subscription price

How Ghost Renders Gated Content

To Members (Authorized)

Members see the full content normally. The page is rendered exactly as you wrote it, with all cards, images, and formatting.

To Non-Members (Not Authorized)

Non-members see a teaser — typically the post title and a short excerpt, followed by a signup prompt.

The teaser includes:

  • Post title and feature image
  • First few lines of content (controlled by theme)
  • A call-to-action button: "Sign in" or "Subscribe"
  • Tier information showing what they get by subscribing

Teaser Customization

Your theme controls how teasers display. The default Casper theme shows a clean signup prompt:

{{#if access}}
  {{content}}
{{else}}
  <section class="paywall">
    <h2>This post is for paid subscribers</h2>
    <p>Subscribe to access this content and more.</p>
    <button data-portal="signup">Subscribe now</button>
  </section>
{{/if}}

In your theme, the {{#if access}} check determines whether to show the full content or a paywall.

The Portal Signup Prompt

When a non-member encounters gated content, they see the Portal signup prompt.

Automatic Prompt

Ghost automatically inserts a Portal prompt after the excerpt for non-members.

Custom Buttons

You can place Portal buttons anywhere in your theme:

<!-- Generic signup -->
<button data-portal="signup">Subscribe</button>

<!-- Specific tier signup -->
<button data-portal="signup/monthly">Join Monthly</button>
<button data-portal="signup/yearly">Join Yearly</button>

<!-- Login -->
<a data-portal="login">Sign in</a>

<!-- Account page -->
<a data-portal="account">My Account</a>

<!-- Sign out -->
<a data-portal="signout">Sign out</a>

Member-Only Content in Theme

{{#if @member}}
  <!-- Member-specific content -->
  <div class="member-badge">
    {{#if @member.paid}}
      <span>Premium Member</span>
    {{else}}
      <span>Free Member</span>
      <a href="#" data-portal="signup/monthly">Upgrade to Paid</a>
    {{/if}}
  </div>
{{/if}}

Content Strategy for Gated Content

The most effective gating strategy uses a content funnel.

The Content Funnel

flowchart TD
  A["Visitor arrives"] --> B["Free content
(60% of posts)"] B --> C{"Engaged?"} C -->|"Yes"| D["Members-only content
(25% of posts)"] D --> E{"Sees value?"} E -->|"Yes"| F["Paid content
(15% of posts)"] F --> G["Paying member"] style A fill:#fbbf24,color:#0f172a style D fill:#38bdf8,color:#0f172a style F fill:#4ade80,color:#0f172a

Ratio Recommendations

Content Type Ratio Purpose
Public (Free) 50-60% SEO traffic, expertise demonstration, trust building
Members only 20-25% List building, email engagement, community growth
Paid only 15-20% Revenue generation, premium value delivery

Conversion Tactics

  1. Value preview: Make free content genuinely valuable. Readers subscribe because they trust your expertise.
  2. Clear differentiation: Each tier should have clearly distinct content. If free content is as good as paid, no one pays.
  3. Strategic gating: Gate the most valuable content — original research, detailed tutorials, analysis, templates.
  4. Email nurture: Send newsletters with a mix of free and teaser content. The email itself demonstrates value.
  5. Social proof: Show subscriber counts, testimonials, and logos of paying members.

Email-Only Content

Ghost supports email-only posts (requires enabling in Labs or available by default in newer versions). These posts are:

  • Sent as email but NOT published on your site
  • Only accessible to newsletter subscribers
  • Exclusive content for email subscribers

Creating Email-Only Content

  1. Enable "Email Only Content" in Labs (or check if available in your Ghost version).
  2. Create a new post.
  3. In the post settings, toggle "Email Only."
  4. Write the content.
  5. Publish — it is sent as an email but does not appear on your site.

Use email-only content for:

  • Exclusive subscriber bonuses
  • Personal updates
  • Sponsor messages
  • Time-sensitive announcements

Member Content Analytics

Ghost provides basic analytics for member content:

  • Total views: How many times gated content was viewed
  • Signup conversions: How many readers signed up after seeing gated content
  • Email engagement: Open rates and click rates for newsletter sends
  • Member growth: New members over time

These metrics help you understand which content drives the most subscriptions.

Advanced: Dynamic Gating

For advanced use cases, you can use the {{#if @member}} helper in your theme to show different content based on member status.

<!-- Different content for different member levels -->
<div class="content-gate">
  {{#if @member.paid}}
    <!-- Full premium content -->
    {{content}}
  {{else if @member}}
    <!-- Free member upgrade prompt -->
    <div class="upgrade-prompt">
      <h3>Upgrade to access this content</h3>
      <p>This article is available to paid members only.</p>
      <button data-portal="signup/monthly">Upgrade to Monthly</button>
    </div>
  {{else}}
    <!-- Non-member signup prompt -->
    <div class="signup-prompt">
      <h3>Sign up to read more</h3>
      <p>Create a free account to access this article and more.</p>
      <button data-portal="signup">Create free account</button>
    </div>
  {{/if}}
</div>

Common Mistakes

  1. Gating everything: If every post is behind a paywall, no one stays to read. Search engines find no content to index, so you get no organic traffic. Keep 50-60% of content public.

  2. Gating content that has no perceived value: If your free content is weak, no one subscribes to see more of the same. Make free content genuinely useful. The subscription should be for MORE of what they already value, not access to the bare minimum.

  3. Inconsistent gating: If you publish free content for weeks and then suddenly gate a post without warning, readers feel tricked. Be transparent about what is free and what is paid. Consider a "membership launch" announcement.

  4. Not using email-only content effectively: Email-only content is a powerful tool for building loyalty but is easy to neglect. Regular email-only exclusives make subscribers feel special and reduce churn.

  5. Making the signup Process too complex: The Ghost Portal is smooth, but if you have too many tier options or a confusing pricing page, readers abandon signup. Keep it simple: Free, Monthly, Yearly.

Practice Questions

  1. What are the three post visibility levels in Ghost, and how do they differ? Answer: Public (visible to everyone, no authentication needed), Members only (visible to signed-in members including free tier), Paid members only (visible only to members with active paid subscriptions). Each level gates content to a progressively more restricted audience.

  2. How does Ghost display gated content to non-members? Answer: Non-members see a teaser with the post title, feature image, and a short excerpt, followed by a Portal signup prompt. The full content is hidden behind a paywall. The theme can customize how this teaser displays using the {{#if access}} helper.

  3. What is the recommended content ratio for a membership site? Answer: 50-60% public (free, attracts SEO traffic), 20-25% members-only (builds email list), 15-20% paid-only (generates revenue). This creates a natural funnel from visitor to free member to paid subscriber.

  4. Challenge: Set up a complete content gating strategy on a Ghost site. Create 10 posts with a mix of public, members-only, and paid-only content. Configure the Portal with appropriate tier information. Test the experience as a logged-out visitor, a free member, and a paid member. Document the differences in what each audience sees.

FAQ

Can I set a different access level for each post?

Yes. Every post and page has its own visibility setting in the editor's settings panel. You can mix public, members-only, and paid-only posts within the same site.

What does a non-member see on a gated post page?

They see the post title, feature image, a short excerpt (first few paragraphs), and a Portal signup prompt. The full content is hidden behind the paywall. The theme controls the exact teaser appearance.

Do search engines index gated content?

Ghost adds a meta tag to gated content that tells search engines not to index the full content. Search engines typically index the title, excerpt, and teaser — enough to attract clicks but not enough to give away the full value.

Can I offer a free preview of paid content?

Yes. You can manually write a public excerpt in the post settings that shows more than the default teaser. Or use the {{#if access}} helper in your theme to show a portion of content before the paywall.

How do I know which posts convert visitors to members?

Ghost tracks member signups but does not attribute them to specific posts. For detailed conversion tracking, use UTM parameters on your Portal links and analytics in Google Analytics.

Mini Project

Your task: Design and implement a content gating strategy for a membership site.

  1. Plan 12 articles across three categories: SEO-optimized free content (6 articles), members-only content (3 articles), and paid content (3 articles).
  2. Create all 12 articles in Ghost with correct visibility settings.
  3. Customize your theme to show different prompts for free members vs non-members.
  4. Create a "start here" pathway that guides new visitors from free content to the membership signup.
  5. Test the full experience as a visitor, free member, and paid member.
  6. Write a content strategy document explaining your gating decisions.

This exercise gives you a complete content monetization strategy for a real Ghost membership site.

What's Next

Now that content is gated, set up newsletters to engage your members:

Continue to Lesson 22: Newsletter Setup — Mailgun, email design, and sending frequency.

Related lessons:

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro