Ultimate Member Export Pro – Documentation

Version: 1.5.4
Requires: WordPress 6.0+, PHP 7.4+, Ultimate Member (required)
Optional: WooCommerce, WooCommerce Subscriptions, FluentCRM


Overview

UM Export Pro is the full-featured member data toolkit for Ultimate Member. Export and import members to CSV or Excel, enrich data with WooCommerce and FluentCRM, run large jobs in the background, schedule automatic delivery, and store files locally or on Amazon S3.

Open UM Export from the WordPress admin menu for Export, Import, and Storage.

๐Ÿ“ธ Screenshot 1 โ€” Admin menu
Capture the left WordPress admin sidebar showing the UM Export menu with Export, Import, and Storage sub-items. Use in your โ€œGetting Startedโ€ section.

Requirements

RequirementNotes
WordPress 6.0+Tested up to 6.9
PHP 7.4+
Ultimate MemberRequired โ€” plugin will not run without it
WooCommerceOptional โ€” commerce filters and columns appear when active
WooCommerce SubscriptionsOptional โ€” subscription filters and columns
FluentCRMOptional โ€” CRM filters and columns
Action SchedulerBundled with the plugin
WP-CLIOptional โ€” for scripted exports and imports

All admin screens require the manage_options capability.


Installation

  1. Install and activate Ultimate Member.
  2. Upload and activate UM Export Pro Premium.
  3. Complete Freemius activation if prompted.
  4. Open UM Export in the WordPress admin sidebar.

Admin menu:

  • Export โ€” build and run member exports
  • Import โ€” bulk CSV import
  • Storage โ€” local disk or Amazon S3

If both the free and Pro plugins are installed, Pro takes over and the free export/import UI is disabled.


Export

The export workflow is a 3-step wizard with a sticky footer (Back / Continue / Download now).

Step 1 โ€” Target & filters

Filters are grouped in collapsible sections. Empty groups are ignored. Active filters appear as summary chips at the top.

Basics

  • User role โ€” any registered WordPress role
  • Account status โ€” approved, pending review, awaiting email, rejected, inactive
  • Registration date โ€” last 7 / 30 / 90 days, or custom date range

Engagement & profile

  • Inactive users (churn risk) โ€” 30, 60, or 90 days since last login
  • Missing profile field โ€” users without a specific UM field filled in
  • Profile updated date range โ€” members who updated their profile in a date window

WooCommerce (when WooCommerce is active)

  • Minimum orders and minimum total spent
  • Purchased product (searchable product picker)
  • Last order date range
  • Billing country
  • Active subscription (yes / no)
  • Active subscription on a specific product (requires WooCommerce Subscriptions)

FluentCRM (when FluentCRM is active)

  • CRM status โ€” subscribed, unsubscribed, bounced, complained, pending
  • Has tag / does not have tag
  • In list
  • Not in FluentCRM โ€” members with no CRM contact record

Custom field rules

Stack multiple rules on user meta with these operators:

  • Equals / Not equals
  • Contains
  • In list / Not in list (comma-separated)
  • Between (value: “min,max”)
  • Greater than / Less than
  • Has any value / Has no value
๐Ÿ“ธ Screenshot 2 โ€” Target & filters
Step 1 with two filter groups expanded (e.g. Basics + WooCommerce) and summary chips visible at the top.
๐Ÿ“ธ Screenshot 3 โ€” Custom field rule builder
Custom rules section with 2+ rules configured and the โ€œ+ Add another ruleโ€ button visible.

Presets

  • Suggested starters (first visit): All members, Incomplete profiles, WooCommerce customers
  • Saved presets: load, update, and delete named filter + column sets
๐Ÿ“ธ Screenshot 4 โ€” Preset strip
Preset dropdown with an active preset chip, or the โ€œNo saved presets yetโ€ suggested-starter buttons.

Step 2 โ€” Columns

Two-panel layout: available fields on the left, selected columns on the right with drag-to-reorder.

Column groups:

Basic details: ID, Name, Email, Role, Username, Display Name, Registered Date, First Name, Last Name, Profile Photo

WooCommerce: Total Orders, Total Spent, Last Order Date, First Order Date, Average Order Value, Last Active, Has Active Subscription, Subscription Next Renewal Date

FluentCRM: Status, Contact ID, Tags

Ultimate Member custom fields: Searchable list from discovered user meta. Advanced/technical meta is behind a collapsible โ€œAdvanced / technical fieldsโ€ gate.

Live preview: First 25 rows plus total match count before download.

๐Ÿ“ธ Screenshot 5 โ€” Column picker
Step 2 with fields selected on the left and the reordered selected-column list on the right. Include the UM custom field search box.
๐Ÿ“ธ Screenshot 6 โ€” Live preview
Preview table showing โ€œ25 of X matching membersโ€.

Step 3 โ€” Review & export

Summary card

Shows who (filter summary), columns (count + list), and format.

Export now

  • Download now (sticky footer) โ€” immediate CSV or Excel download
  • Background export (email when ready) โ€” chunked processing; secure email link when complete. Recommended for 5,000+ rows.
  • Hash PII (SHA256) โ€” hashes email and phone columns for Meta / Google Ads customer lists

Save & automate

  • Save or update a named preset
  • Schedule & delivery (requires a saved preset):
    • Frequency: hourly, daily, or weekly
    • Format: CSV or Excel (.xlsx)
    • Email recipients (comma-separated)
    • Webhook URL (Zapier, Make, or custom endpoint)
    • Delta sync โ€” only members who joined or updated their profile since the last successful run
    • Embed rows in webhook โ€” first 50 rows as JSON in the POST body (CSV schedules only)
    • Send now โ€” trigger an immediate scheduled run

Activity

  • Background export jobs โ€” status, format, row count, cancel queued jobs, download link
  • Automated exports โ€” schedule list with last run, row count, webhook errors
๐Ÿ“ธ Screenshot 7 โ€” Review & export
Summary card (Who / Columns / Format) and Export now section.
๐Ÿ“ธ Screenshot 8 โ€” Schedule & delivery
Expanded schedule panel: frequency, email, webhook URL, delta sync, example JSON body.
๐Ÿ“ธ Screenshot 9 โ€” Background job progress
โ€œBackground export in progressโ€ card with status, rows processed, and elapsed time.
๐Ÿ“ธ Screenshot 10 โ€” Job history
Activity table with completed and queued jobs, status pills, and download/cancel actions.

Webhook payload example

{
  "schedule_id": "monthly-members",
  "template_name": "Monthly Members",
  "row_count": 412,
  "download_url": "https://yoursite.com/wp-admin/admin-ajax.php?action=um_export_download_secure&token=โ€ฆ",
  "expires_in": "24 hours",
  "rows_included": 3,
  "rows_truncated": false,
  "rows": [
    { "Email": "member@example.com", "First Name": "Alex" }
  ]
}

Import

3-step wizard at UM Export โ†’ Import.

Step 1 โ€” Upload

  • UTF-8 CSV with a header row
  • Import mode: Create or update (upsert), Create only, or Update only
  • Match key: Email, Username, or User ID
  • Optional import preset for saved mapping rules
๐Ÿ“ธ Screenshot 11 โ€” Import upload
File upload, mode radio buttons, match-key dropdown, and optional preset selector.

Step 2 โ€” Map columns

  • Auto-mapping from CSV headers (round-trip friendly with UM Export files)
  • Per-column on-update rules: Default, Skip if blank, Always overwrite, Never update
  • Fields to update: all mapped fields, only these fields, or all except selected fields
  • Save mapping as an import preset
๐Ÿ“ธ Screenshot 12 โ€” Column mapping
Mapping table: CSV column, sample value, mapped field, per-field update rule.

Step 3 โ€” Preview & run

  • Dry-run preview โ€” first 25 rows with create / update / skip estimates
  • Run import now โ€” synchronous (small files)
  • Run in background โ€” recommended for 50+ rows

Import options:

  • Send password reset email when a new password is set
  • Skip blank cells on update (default on)
  • Suppress UM / WordPress new-user notification emails
  • Role strategy: replace roles vs add without removing existing
๐Ÿ“ธ Screenshot 13 โ€” Dry-run preview
Preview table with create / update / skip per row.
๐Ÿ“ธ Screenshot 14 โ€” Import results
Created / Updated / Skipped summary and optional error list.
๐Ÿ“ธ Screenshot 15 โ€” Background import modal
Progress modal with rows processed.

Storage

UM Export โ†’ Storage

SettingDescription
ProviderLocal disk (default) or Amazon S3
AWS regione.g. us-east-1
BucketS3 bucket name
Access key / SecretOr define via wp-config.php constants
Object prefixe.g. um-exports/
Delivery domainOptional CloudFront or CDN domain
Object ACLPrivate (signed URLs, recommended) or public-read
Local cleanupDelete local copy after successful S3 upload

Use Test connection to validate S3 credentials. Finished files use secure tokenized download links (24-hour default expiry).

๐Ÿ“ธ Screenshot 16 โ€” Storage settings
Provider options, S3 fields, ACL settings, and Test connection button.
๐Ÿ“ธ Screenshot 17 โ€” Export email (optional)
Email received after a background export with the secure download link.

WP-CLI

Export:

wp um-export run --preset=all-members
wp um-export run --preset=monthly --format=xlsx --background
wp um-export job list
wp um-export job status cli_abc123xyz

Import:

wp um-import run --file=/path/to/members.csv --mode=upsert --match=user_email

Use cases

1. Monthly board report (Excel)

Goal: Approved members registered in the last 30 days.

  1. Step 1: Status = Approved, Registration = Last 30 days
  2. Step 2: Select ID, Name, Email, Role, Registered Date
  3. Step 3: Download now โ†’ Excel (.xlsx)

2. Churn-risk re-engagement

Goal: Inactive members for a win-back campaign.

  1. Engagement filter: Inactive = 90 days
  2. Columns: Email, Name, Last Login
  3. Use background export for large lists

3. High-value WooCommerce segment

Goal: Top customers for a loyalty offer.

  1. Woo filters: min orders, min spend, billing country, purchased product
  2. Columns: Email, Total Orders, Total Spent, Last Order Date
  3. Save preset โ†’ schedule weekly email to marketing

4. FluentCRM sync via Zapier (delta)

Goal: Push new/updated members to an external CRM daily.

  1. Filter approved members (or a tag-specific subset)
  2. Save preset and schedule daily
  3. Add Zapier webhook URL
  4. Enable Delta sync and Embed rows in webhook

5. Incomplete profile cleanup

Goal: Find members missing required fields.

  1. Use suggested preset Incomplete profiles, or
  2. Set Missing profile field to your required field
  3. Export Email, Name, Account Status

6. Meta / Google Ads hashed audience

Goal: Upload a customer list without raw PII.

  1. Filter your target segment
  2. Columns: Email, Phone
  3. Enable Hash PII (SHA256)
  4. Export CSV and upload to Ads Manager

7. Site migration (export โ†’ import)

Goal: Move thousands of members to a new site.

Source: Export all members with UM custom fields โ†’ background export โ†’ download CSV.
Destination: Import CSV โ†’ auto-mapping โ†’ upsert by email โ†’ background import.

8. Bulk profile update from spreadsheet

Goal: Update job title and company without touching emails.

  1. CSV: email, job_title, company
  2. Mode = Update only, match = email
  3. Email = Never update; other fields = Always overwrite
  4. Update only selected fields

9. S3-backed compliance archive

Goal: Nightly export stored in a private S3 bucket.

  1. Storage โ†’ S3 with private ACL
  2. Daily scheduled preset with admin email backup
  3. Optional: delete local copy after S3 upload

10. CLI-driven nightly export

0 2 * * * cd /var/www/site && wp um-export run --preset=nightly-backup --format=csv --background

Free vs Pro

FeatureFreePro
CSV export / importYesYes
Excel (.xlsx)NoYes
PresetsYesYes
S3 storageYesYes
Import row limit500 rowsUnlimited
WooCommerce enrichment & filtersNoYes
FluentCRM enrichment & filtersNoYes
Custom meta rule builderNoYes
Inactivity / missing field filtersNoYes
Background export / importNoYes
Scheduled email / webhook deliveryNoYes
Delta syncNoYes
PII hashingNoYes
WP-CLINoYes
Per-field import update rulesNoYes
Import presetsNoYes

Security

  • manage_options required on all admin actions
  • Nonces on all form submissions and AJAX
  • Export columns validated against a server-side allowlist
  • CSV formula-injection hardening
  • Time-limited secure download tokens
  • Webhook URLs must resolve to public IPs (SSRF protection)
  • S3 secrets can be locked via wp-config.php constants
  • Optional SHA256 hashing for ad-platform uploads

Troubleshooting

IssueFix
โ€œRequires Ultimate Memberโ€ noticeActivate Ultimate Member
Action Scheduler errorEnsure plugin is active; check for conflicts
Missing custom fieldsClear field cache; site may have hit the 2,000 meta key limit
Preset columns dropped warningRe-save preset with valid columns
Large export times outUse Background export
Webhook not firingUse a public HTTPS URL (Zapier / Make)
S3 test failsCheck region, credentials, and bucket IAM permissions
Import auto-map misses columnsManually map in Step 2

Scroll to Top