> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fourthwall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# membership_tiers

> Access membership tier information, pricing, and features

Access membership tier information through the `membership_tiers` object. This contains all configured tiers for the shop, both free and paid.

## Iterating over tiers

```liquid theme={null}
{% for tier in membership_tiers %}
  <div class="tier-card">
    <h3>{{ tier.name }}</h3>
    {% if tier.type == 'Paid' %}
      <p>{{ tier.monthly_price | money }} per month</p>
    {% else %}
      <p>Free</p>
    {% endif %}
  </div>
{% endfor %}
```

Each tier has a `type` property that is either `"Free"` or `"Paid"`. Use this to branch your rendering logic.

## Free tier properties

| Property           | Type    | Description                         |
| ------------------ | ------- | ----------------------------------- |
| `type`             | string  | Always `"Free"`                     |
| `name`             | string  | Tier display name                   |
| `description`      | string  | Tier description                    |
| `position`         | integer | Display order                       |
| `image_url`        | string  | Tier image URL                      |
| `members_count`    | integer | Number of members                   |
| `perks`            | array   | List of perk descriptions (strings) |
| `registration_url` | string  | Signup URL                          |

## Paid tier properties

| Property        | Type    | Description                            |
| --------------- | ------- | -------------------------------------- |
| `type`          | string  | Always `"Paid"`                        |
| `name`          | string  | Tier display name                      |
| `description`   | string  | Tier description                       |
| `position`      | integer | Display order                          |
| `image`         | string  | Tier image URL                         |
| `members_count` | integer | Number of members                      |
| `features`      | array   | List of feature descriptions (strings) |
| `url`           | string  | Tier purchase URL                      |
| `trial_enabled` | boolean | Whether free trial is available        |

<Note>
  Free tiers use `image_url` for the image, while paid tiers use `image`. Free tiers list benefits as `perks`, while paid tiers use `features`.
</Note>

## Paid tier pricing

| Property                     | Type    | Description                                        |
| ---------------------------- | ------- | -------------------------------------------------- |
| `monthly_price`              | money   | Monthly subscription price                         |
| `monthly_variant`            | variant | Monthly billing variant                            |
| `compare_at_monthly_price`   | money   | Original monthly price (for first-month discounts) |
| `annual_price`               | money   | Annual subscription price                          |
| `annual_variant`             | variant | Annual billing variant                             |
| `annual_offer_id`            | string  | Annual offer identifier                            |
| `annual_url`                 | string  | Annual subscription URL                            |
| `annual_discount_enabled`    | boolean | Whether annual discount is active                  |
| `annual_discount_percentage` | integer | Annual discount percentage                         |
| `compare_at_annual_price`    | money   | Original annual price                              |

### Displaying prices

```liquid theme={null}
{% if tier.compare_at_monthly_price %}
  <s>{{ tier.monthly_price | money }}</s>
  {{ tier.compare_at_monthly_price | money }} first month
{% else %}
  {{ tier.monthly_price | money }} per month
{% endif %}
```

## Variant discounts

Each tier variant may have discount information for specific promotions:

```liquid theme={null}
<!-- Twitch subscriber discount -->
{{ tier.monthly_variant.discounts.twitch.after_discount_price | money }}

<!-- Introductory discount -->
{{ tier.monthly_variant.discounts.introductory.after_discount_price | money }}
```

### Twitch discount properties

| Property                                | Type  | Description                     |
| --------------------------------------- | ----- | ------------------------------- |
| `discounts.twitch.after_discount_price` | money | Price after Twitch sub discount |

### Introductory discount properties

| Property                                      | Type     | Description                       |
| --------------------------------------------- | -------- | --------------------------------- |
| `discounts.introductory.started_at`           | datetime | Discount start date               |
| `discounts.introductory.ended_at`             | datetime | Discount end date                 |
| `discounts.introductory.after_discount_price` | money    | Price after introductory discount |

## Example: Membership tiers grid

```liquid theme={null}
{% for tier in membership_tiers %}
  <div class="tier-card">
    {% if tier.type == 'Free' %}
      {% if tier.image_url %}
        <img src="{{ tier.image_url | img_url: 'medium' }}" alt="{{ tier.name }}">
      {% endif %}

      <h3>{{ tier.name }}</h3>

      {% if tier.members_count %}
        <p>{{ tier.members_count }} member{% if tier.members_count != 1 %}s{% endif %}</p>
      {% endif %}

      <p>Free</p>

      <a href="{{ tier.registration_url }}">Join now</a>

      {% if tier.perks.size > 0 %}
        <ul>
          {% for perk in tier.perks %}
            <li>{{ perk }}</li>
          {% endfor %}
        </ul>
      {% endif %}

    {% elsif tier.type == 'Paid' %}
      {% if tier.image %}
        <img src="{{ tier.image | img_url: 'medium' }}" alt="{{ tier.name }}">
      {% endif %}

      <h3>{{ tier.name }}</h3>

      <p>
        {% if tier.compare_at_monthly_price %}
          <s>{{ tier.monthly_price | money }}</s>
          {{ tier.compare_at_monthly_price | money }} first month
        {% else %}
          {{ tier.monthly_price | money }} per month
        {% endif %}
      </p>

      <a href="{{ tier.url }}">
        {% if tier.trial_enabled %}
          Start 7-day free trial
        {% else %}
          Join now
        {% endif %}
      </a>

      {% if tier.annual_price %}
        <p>
          <a href="{{ tier.annual_url }}">
            Save {{ tier.annual_discount_percentage }}% if you pay annually
          </a>
        </p>
      {% endif %}

      {% if tier.features.size > 0 %}
        <ul>
          {% for feature in tier.features %}
            <li>{{ feature }}</li>
          {% endfor %}
        </ul>
      {% endif %}
    {% endif %}
  </div>
{% endfor %}
```
