Managing Subscribers

Everything you need to manage your paying readers — view their status, assign plans manually for offline payments, edit access, export data, and understand the full email automation system.

Subscriber Columns in Users List

After installing MyPaywall, three new columns appear in WP Admin → Users:

The Access Expires column is sortable. Click the column header to sort all users by expiry date — ascending to see who is about to expire, descending to see newest subscribers first.

â„šī¸
Columns only show for users with a plan assigned

Regular WordPress users (admins, editors, regular subscribers without a paid plan) show a dash (—) in these columns. They are not charged or restricted in any way.

Manual Plan Assignment

Use this when a reader has paid by cash, bank transfer, UPI outside the plugin, or any method where the payment did not flow through the configured gateway.

1

Go to WP Admin → Users

You will see a new + Assign Plan button in the toolbar above the users list (next to the standard filters).

2

Click "+ Assign Plan"

A modal dialog opens with the assignment form.

3

Fill in the form

  • Email * — The reader's email address. If no WordPress account exists, one will be created automatically.
  • Name — Optional but recommended. Used in welcome email.
  • Plan * — Select from your active plans dropdown.
  • Amount Paid — What they paid (for your records). Does not need to match the plan price.
  • Gateway / Source — Free text. Examples: cash, bank_transfer, upi_manual, cheque.
  • Transaction Ref — Optional UTR number, bank ref, or any identifier for your records.
  • Send email — Check to send welcome/renewal email. Uncheck for silent assignment (e.g. bulk imports).
4

Click Assign Plan

The user is created (if new) or updated (if existing). A "View user" link appears confirming success. The welcome email is sent if the checkbox was checked.

✅
Manual assignment works exactly like a gateway payment

The access duration, expiry date, and welcome email are identical to what happens when a reader pays through Razorpay. The only difference is the gateway is recorded as whatever you entered in the Source field.

Editing Subscriber Access

To edit an existing subscriber's plan, expiry date, or payment details:

1

Go to WP Admin → Users and find the subscriber

Use the search box or sort by the Access Expires column to find them.

2

Click their name or "Edit" to open their user profile

Scroll to the bottom of the profile page. You will find a MyPaywall Subscription section.

3

Edit the fields you need

  • Plan — Change their plan from the dropdown
  • Access Expiry — Change the date using the date picker. Changing this immediately affects their access on the next page load.
  • Amount Paid — Update for your records
  • Gateway / Source — Update the payment method record
  • Transaction Ref — Update the reference number
4

Scroll up and click "Update User"

WordPress saves all profile changes including the MyPaywall subscription section.

âš ī¸
Clearing the expiry date removes access immediately

If you delete the date from the Access Expiry field and save, the subscriber loses access on their very next page visit. Use this to revoke access for non-payment or policy violations.

How Access Expiry Works

MyPaywall uses a real-time access check — there is no scheduled job that "expires" accounts. Here is exactly what happens:

  1. When a reader visits any premium content, the plugin reads their apw_sub_expiry value from the database.
  2. It compares that timestamp to the current time.
  3. If expiry > now — full access granted.
  4. If expiry ≤ now — paywall shown, even if they are logged in.

This means access is revoked automatically and instantly the moment the clock passes their expiry time. No cron job, no manual action needed.

When a subscriber renews, the new duration is added to their current expiry (not from today) — so they never lose days they already paid for.

CSV Export

Export your full subscriber list as a CSV file compatible with Excel, Google Sheets, and any CRM.

1

Go to WP Admin → Users

Look for the âŦ‡ Export CSV button in the toolbar next to the "+ Assign Plan" button.

2

Click "Export CSV"

A CSV file downloads immediately. The filename is mypaywall-subscribers-YYYY-MM-DD.csv.

The exported file contains these columns:

ColumnContents
NameWordPress display name
EmailUser's email address
PlanPlan display name (e.g. "Annual Access")
Start DateDate of last payment (YYYY-MM-DD)
Expiry DateAccess expiry date (YYYY-MM-DD)
StatusActive or Expired
Amount PaidLast payment amount
GatewayPayment gateway or source (e.g. razorpay, cash)
Transaction IDGateway transaction reference
â„šī¸
Opening in Excel

The file includes a UTF-8 BOM character so Excel opens Indian names and special characters correctly without encoding issues. Do not use "Open" directly — use File → Import or double-click the file.

Email Automation Overview

MyPaywall sends four types of automated emails. All are enabled by default and fully customizable.

Customizing Email Templates

All email templates can be customized at Settings → MyPaywall → Emails tab.

Each template has a subject line and body field. Leave the body field blank to use the default template. Use placeholders to insert dynamic content:

{name} {first_name} {email} {username} {password} {plan} {expiry} {site_name} {login_url} {reset_url} {subscribe_url} {amount}
🚨
Do not remove {password} from the welcome email

The welcome email is the only place the auto-generated password is ever sent. If you remove {password} from the template, new subscribers will have no way to log in without using the password reset link. Keep {reset_url} in the template as a fallback.

Example welcome email body

This is the default template. You can copy and customize it:

Hi {first_name},

Your payment was successful and your account is ready.

━━━━━━━━━━━━━━━━━━━━━━━━━━━
  YOUR LOGIN DETAILS
━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Website:  {site_name}
  Username: {username}
  Password: {password}
  Login:    {login_url}

━━━━━━━━━━━━━━━━━━━━━━━━━━━
  YOUR SUBSCRIPTION
━━━━━━━━━━━━━━━━━━━━━━━━━━━
  Plan:    {plan}
  Expires: {expiry}

You now have full access to all premium content.

If you need help logging in:
{reset_url}

Thank you!
— {site_name}
💡
Emails are plain text, not HTML

MyPaywall sends plain text emails by design. Plain text emails have higher deliverability, render identically across all email clients including mobile, and are less likely to land in spam. You cannot add images or HTML formatting to the email body.