The Scenario
You are the marketing ops lead at a nonprofit. Your organization has been on Mailchimp for six years. 8,000 members in the main audience. You are migrating to a new email platform next quarter.
Before the migration team will touch the list, they want a full audit: every member's email, subscription status, tags, and last campaign open date, in one sheet, ready for their review call on Monday.
It is Thursday morning.
The bad version of the next four days:
- You go to Mailchimp's audience export and download the members as a CSV
- You open the file and discover that the "tags" column is a single cell with all tags comma-separated as a string
- The "last campaign activity" column exists but is blank for 40% of members
- You start reformatting in Google Sheets manually, splitting tags, handling blanks
- Saturday afternoon you realize the export you downloaded Thursday does not match the current list because 30 people unsubscribed since then
- You walk into Monday's review call with stale data and half-formatted columns.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your spreadsheet that pulls a live audience snapshot from Mailchimp and writes it directly into the sheet, so you are not reformatting a stale CSV file.
Open the SheetXAI sidebar and type:
Export all members from Mailchimp audience ID in cell A1 and write email, first name, last name, subscription status, tags as a comma-separated list, and last campaign open date into columns A through F of this sheet. One member per row. Include all statuses: subscribed, unsubscribed, cleaned, and pending.
SheetXAI fetches all 8,000 members from the live audience and populates the sheet. No CSV download, no reformatting, no stale snapshot. If you run the same prompt on Sunday night, you get the same structure but with the most current data.
What You Get
8,000 rows, one per member, pulled live from Mailchimp:
- Email and name — as stored in the audience
- Subscription status — subscribed, unsubscribed, cleaned, or pending
- Tags — as a comma-separated list in one column, ready for the migration team to parse
- Last campaign open date — the most recent date that member opened a campaign, blank where no activity exists
The migration team has a working file by Thursday afternoon. They can filter by status, count tag coverage, identify inactive subscribers, and build their import mapping without waiting on you to reformat anything.
Want unsubscribes and hard bounces pulled separately into a second tab for suppression? Tell SheetXAI to do that in a follow-up prompt.
What If the Data Is Not Quite Ready
Audience audits rarely stop at the raw export. SheetXAI handles enrichment and reshaping in the same prompt.
When Mailchimp returns the last open date as a UTC timestamp string
The API returns "2025-11-14T09:23:00+00:00" and the migration team wants just "2025-11-14."
Export all members from Mailchimp audience ID in cell A1 and write email, first name, last name, subscription status, tags, and last campaign open date into columns A through F. Format the last campaign open date as YYYY-MM-DD only. If last open date is null, write "Never."
When the migration team wants a summary count at the top
They want to know total by status before they open the detail rows.
Export all members from Mailchimp audience ID in cell A1 into this sheet starting at row 5. Before the member rows, write a summary table in rows 1 through 4: total subscribed count in B1, total unsubscribed in B2, total cleaned in B3, total pending in B4.
When the audit needs to flag low-engagement subscribers
Members who have never opened a campaign are likely to hurt deliverability at the new platform. The migration team wants them flagged.
Export all members from Mailchimp audience ID in cell A1 into this sheet. For each member, check whether last campaign open date is blank. If it is blank, write "Low Engagement" into column G. Otherwise write "Active." Include all columns: email, first name, last name, status, tags, last open date, engagement flag.
When you also need the unsubscribe and hard bounce history in a separate tab
The suppression list for the new platform needs to know not just who is currently unsubscribed, but which campaign triggered each unsubscribe.
In the main tab, export all subscribed members from Mailchimp audience ID in cell A1: email, first name, last name, tags, last open date. In a second tab called "Suppression," fetch all members with status unsubscribed or cleaned and write their email, status, the date the status changed, and the last campaign they received before unsubscribing.
The pattern: pull the full audience in one prompt, then enrich or segment in the same or a follow-up prompt. The sheet stays live, so you can re-run on Sunday night and get current data without starting over.
Try It
Get the 7-day free trial of SheetXAI and open a blank Google Sheet, then ask it to export your full Mailchimp audience. The Mailchimp integration is included in every plan. For related workflows, see how to pull quarterly campaign stats or the Mailchimp in Google Sheets overview.
