The Scenario
You are a retention marketer. A customer just complained they are getting re-acquisition emails even though they purchased last week.
You check your GA4 property. There is a "30-day purchasers" audience. Your CRM suppression list should exclude anyone in that audience from re-acquisition campaigns — but the integration only runs one direction. You need to cross-reference the GA4 audience against your CRM manually to find who is slipping through.
The audience data is not in any CSV export from GA4. Audience Export is a separate Admin feature that requires you to create an export, wait for it, and then query it via API — none of which is accessible from the GA4 UI in a way that produces an Excel-ready file.
The bad version of the next three hours:
- Navigate to GA4 Admin → Audience Exports, create an export for "30-day purchasers," wait
- Figure out the API endpoint for querying the completed export
- Write a script to query and output the user rows
- Realize the export gives you pseudonymous user IDs and device attributes, not email addresses
- Try to match the user IDs to your CRM export by client ID — realize the CRM uses email as the primary key
- The suppression gap stays open and the complaint goes unanswered.
The fast version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your Excel workbook that can run a GA4 audience export and write the results directly into a tab — no API scripting required.
Open the SheetXAI sidebar and type:
Create an audience export for my "30-day purchasers" GA4 audience, wait for it to complete, then query all the user rows and write them into the Audience tab of my workbook. Include any available attributes — device category, country, city, and client ID or app instance ID if present. One user per row with headers in row 1.
SheetXAI creates the export, polls until it is ready, queries the results, and writes the user rows into the Audience tab. What attributes are available depends on your GA4 implementation, but SheetXAI writes whatever is returned.
What You Get
A row-per-user table in the Audience tab with:
- User Pseudo-ID — GA4's pseudonymous identifier
- Device Category — mobile, desktop, or tablet
- Country and City — location when the user was added to the audience
- Client ID or App Instance ID — if your implementation populates these, they appear in their own column
Zero-attribute rows do not appear. If a user row has no attributes at all, SheetXAI skips it. You get the rows that are useful for cross-referencing.
From here, use SheetXAI to do the VLOOKUP against your CRM tab and flag which client IDs appear in both.
What If the Data Is Not Quite Ready
Audience exports have real limitations. SheetXAI works around them inline.
When the export takes longer than expected
Large audiences can take several minutes to process.
Create an audience export for my "30-day purchasers" audience. If it is not ready within 90 seconds, write "Export pending — re-run in 5 minutes" into cell A1 of the Audience tab and stop.
When you only need users from a specific country
You only care about US-based purchasers for this suppression check.
Create an audience export for my "30-day purchasers" audience, wait for it, then query only the user rows where country is United States. Write those rows into the Audience tab at row 2 with headers in row 1.
When you need to cross-reference against a CRM export already in the workbook
Your CRM export is on the CRM Data tab with a column called Client ID. You want to flag matches.
After writing the GA4 audience export to the Audience tab, look up each row's client ID against the Client ID column in the CRM Data tab. Add a CRM Match column in the Audience tab — write "Yes" if found, "No" if not. Write a match count into cell G1.
When you want the full suppression audit in one shot
You need the audience rows, the CRM cross-reference, and a count of how many purchasers are missing from the suppression list — all before standup.
Export the "30-day purchasers" GA4 audience and write user rows to the Audience tab. Cross-reference client IDs against the CRM Data tab and add a CRM Match column. Count how many audience members are NOT in the CRM Data tab and write that count with a one-sentence explanation into cell A2 for the standup update.
The pattern: instead of scripting a GA4 Audience Export API call and then doing the join manually, you describe the suppression audit and SheetXAI does the data work.
Try It
Get the 7-day free trial of SheetXAI and ask it to export your GA4 audience into your workbook. The Google Analytics integration is included in every SheetXAI plan. See also how to export a GA4 channel breakdown for budget attribution in Excel or the Google Analytics in Excel overview.
