

Site Mode and Google Service Account — connect a private Google Sheet as the membership roster.
GSheet Membership lets you use a private Google Sheet as your membership database.
[gsma_user_info].[gsma_login_form] shortcode, instead of WordPress’s default login screen.The plugin authenticates using a Google Service Account — a special non-human Google account your server uses to read and update the sheet. You share the spreadsheet with it; no one else can access the sheet. With OpenSSL available, the saved service-account JSON is encrypted at rest; the roster cache is only written when it can be encrypted. The two use separate keys derived from this WordPress installation’s security salts. They are not exposed in the browser or source code. The entire cached roster is decrypted in server memory when it is read; this does not encrypt old backups made before the upgrade.
There’s no separate account-creation step for members. A member already on the roster enters their email on your sign-in page: the first time, a 6-digit verification code is emailed to them and they’re prompted to create a password after entering it; after that, they sign in with the password directly. See the FAQ entry below for the full flow.
GSheet Membership Pro adds authenticated mailbox sending, Group Email (including Mailchimp campaign delivery), Email-in, File Delivery links and optional PDF watermarks, PayPal checkout, gift purchases, editable membership levels, and admin tools to retry failed sheet writes and refund supported purchases. Pro can also sync roster contacts to Mailchimp and EmailOctopus without sending a campaign; EmailOctopus is a sync option, not a campaign-delivery gateway. The Access and Sales admin screens show read-only previews of relevant Pro features and a direct upgrade button. After purchasing, install and activate the Pro add-on, then complete its license activation; the free plugin’s existing settings stay in place.
Compose’s Sync Roster action syncs its filtered recipients to the connected providers and can supply a selected attachment through a personalized GDLINK1 field. The separate Mailchimp and EmailOctopus settings-card buttons save the card and sync the full roster only to that provider.
Pro and Chapters check the required Free features before loading their modules, so an add-on update arriving first through Freemius can keep working with compatible older Free versions. Unsupported combinations pause with an admin notice, preserve saved settings, and resume automatically after a compatible Free update. New optional functionality can require a newer Free version without pausing an otherwise compatible add-on.
Most membership plugins assume one site and one member list. Many real organizations don’t work that way: a national society with local chapters, an alumni association with regional groups, a union with locals. GSheet Membership was designed for exactly that structure:
Chapter mode is provided by the GSheet Membership — Chapters add-on; the free plugin covers everything a single-roster organization needs.
The free plugin provides the unauthenticated, read-only GET /wp-json/gsma-sales/v1/pricing endpoint so a configured Chapters site can display the main organization’s current combined-price options. The JSON response contains the main site’s configured membership levels, pricing matrix, membership-code matrix, delivery and postage options, currency, and access_match_mode (exact or letters). It does not contain roster or buyer data. Responses advertise a five-minute public cache (Cache-Control: public, max-age=300); the chapter site validates and caches this pricing separately.
On a chapter site, the Chapters add-on checks the buyer’s email against the main roster. If no email match is found, the buyer can check a box to self-report main-organization membership; that statement is not verified and must not be treated as proof of membership. A last-name lookup can help locate a possible roster record, but a buyer’s selection there is also not authentication. Chapter administrators should review these cases using their normal membership procedures.
Combined sales write the chapter membership to the chapter site’s local roster and create a manual remittance worklist entry for the main-organization dues. No payment is transferred or remitted automatically. Chapter administrators must handle the main-organization payment separately and mark the worklist entry resolved after reconciliation. An optional per-sale email can notify a configured main-organization administrator; it is a notification only, not remittance or verification.
Optional AI setup assistant (GSheet Connect, Replit and OpenAI)
With consent, https://access-manager-pro.replit.app/api/setup-help/message sends chat and setup metadata to OpenAI through Replit. Separately consented /api/setup-help/headers sends unassigned header labels, column letters, field categories and quota metadata for reviewable suggestions.
Diagnostics exclude credentials, spreadsheet IDs and member/roster data. Credential patterns are blocked; emails, links and long IDs are removed. Filtering is imperfect: never submit confidential information. No transcripts are saved; provider policies apply. Hashed quota counters are periodically purged after the following month; blocked installation hashes persist until restored. Setup works without AI.
Service and data notice: https://access-manager-pro.replit.app
OpenAI Privacy Policy: https://openai.com/policies/privacy-policy/
OpenAI Terms of Use: https://openai.com/policies/terms-of-use/
Replit Privacy Policy: https://replit.com/privacy-policy
This plugin connects to the following third-party services to provide its core functionality:
Google Sheets API and Google OAuth2 (developers.google.com)
Used to read and write membership data to your private Google Sheet, and to authenticate as your Google Service Account. When a page’s access is checked, when a purchase is recorded, or when you save settings and test the connection, the plugin sends: your Service Account’s signed authentication request to https://oauth2.googleapis.com/token, and membership-related row data (emails, membership codes, and — depending on which features you use — names, addresses, and purchase details) to https://sheets.googleapis.com. This only occurs because you have configured a Google Service Account and Spreadsheet ID; no data is sent to Google until you do so.
Google APIs Terms of Service: https://developers.google.com/terms
Google API Services User Data Policy: https://developers.google.com/terms/api-services-user-data-policy
Google Privacy Policy: https://policies.google.com/privacy
Stripe (stripe.com)
Used to process membership purchases via Stripe Checkout. Card details are entered on Stripe’s hosted checkout page, not this site. With the free plugin’s Stripe Connect flow, the hosted GSheet Connect service creates the Checkout Session and relays Stripe’s confirmation to the site; Pro can instead use your own Stripe API keys and a direct Stripe webhook. Stripe is contacted only when the gateway is enabled and connected or configured.
Stripe Terms of Service: https://stripe.com/legal/ssa
Stripe Privacy Policy: https://stripe.com/privacy
GSheet Connect (access-manager-pro.replit.app) — Stripe Connect mode
The plugin’s hosted payment service is used for Stripe Connect sales, including on a Pro site until its own Stripe keys are saved for the active mode. It handles “Connect with Stripe” onboarding, creates the Stripe Checkout Session for each purchase (applying the disclosed platform commission), processes refunds you issue from the dashboard, and relays Stripe’s payment confirmations back to your site. The plugin sends: your connected Stripe account ID, the purchase amount, currency and description, the buyer’s email address, and your site’s webhook address to https://access-manager-pro.replit.app. The service does not keep a membership roster; payment processing itself is performed by Stripe. A site using its own Stripe API keys instead of Connect does not use this service for checkout.
Service overview: https://access-manager-pro.replit.app
PayPal (paypal.com) — requires the GSheet Membership Pro add-on
Used to process membership purchases via PayPal Checkout as an alternative to Stripe. Only active if you install the Pro add-on and configure your PayPal credentials; the free plugin does not send any data to PayPal on its own.
PayPal User Agreement: https://www.paypal.com/us/legalhub/paypal/useragreement-full
PayPal Privacy Statement: https://www.paypal.com/us/legalhub/paypal/privacy-full
Mailchimp (mailchimp.com) — requires the GSheet Membership Pro add-on
Optional campaign delivery and roster-sync method in Pro. With an API key and selected audience, classic sends sync the current membership filter; segments-mode sends sync the full roster and target a segment. The optional Sync Roster action updates the audience without sending a campaign. Pro sends member email addresses, names, and optional personalized link fields from the Google Sheet to https://.api.mailchimp.com to add, update, or archive audience contacts as appropriate; it does not override contacts who unsubscribed or were cleaned. Only active when Pro is installed and Mailchimp is configured; the free plugin sends no data to Mailchimp on its own.
Mailchimp Standard Terms of Use: https://mailchimp.com/legal/terms/
Intuit Mailchimp Privacy Statement: https://www.intuit.com/privacy/statement/
EmailOctopus (emailoctopus.com) — requires the GSheet Membership Pro add-on
An optional roster-sync destination, not a Group Email campaign-sending gateway. If configured, Pro sends member email addresses, names, and optionally a personalized attachment-link field to https://api.emailoctopus.com to update the selected list without sending a campaign. The provider-card Sync Roster action syncs the full local recipient roster; Compose’s Sync Roster action uses the selected membership filter. The free plugin sends no data to EmailOctopus on its own.
EmailOctopus Terms of Service: https://emailoctopus.com/legal/terms
EmailOctopus Privacy Policy: https://emailoctopus.com/legal/privacy