The Scenario
It's the third week of the quarter and your marketing ops manager is asking for the Cardly spend report. You ran four card campaigns in the last 90 days — renewal outreach, a new-customer welcome series, two conference follow-ups — and right now the only record that all four happened is inside Cardly's orders screen.
The bad version:
- Log into Cardly, open the Orders section, filter to the last 90 days, and look for an export button. Find the export, download a CSV.
- Open the CSV in Google Sheets. The date column is formatted as Unix timestamps and the cost column includes a currency symbol that breaks any SUM formula.
- Spend 25 minutes cleaning the data, then realise the "template used" column is missing entirely — you have to go back into Cardly and manually note which template each order used.
The ops manager needs this by end of day. You have three other reports in your queue.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent that lives inside your Google Sheet. It reads your data and talks to Cardly on your behalf — pulling order records directly into the sheet with the columns shaped the way you need them.
Open the SheetXAI sidebar and ask:
Pull all Cardly orders placed in the last 90 days into this sheet — include order ID, recipient name, template used, cost, and delivery status in separate columns.
What You Get
- One row per Cardly order, with order ID in column A, recipient name in B, template used in C, cost as a clean number in D, and delivery status in E.
- Dates in a consistent ISO format — no Unix timestamps, no reformatting needed.
- The sheet is ready to SUM, filter, and pivot without manual cleanup.
What If the Data Is Not Quite Ready
You need to match orders against CRM records by recipient email
Your CRM has a separate export with email addresses, and you need to join them to the Cardly orders to see which deals got a card.
Pull all Cardly orders from the last 90 days into columns A–F (order ID, created date, recipient name, recipient email, card type, cost). Then add a column G that does a VLOOKUP against the "CRM Export" tab using the email address to pull the deal stage.
Orders from one campaign need to be filtered out of the reconciliation
One of the four campaigns was expensed through a different budget line and should be excluded from this report.
Pull all Cardly orders from the last 90 days into this sheet — exclude any order where the template used is "Conference-Follow-Up-V2". Include order ID, recipient, template, cost, and delivery status in separate columns.
The cost column needs to be split by campaign for a budget breakdown
Finance wants to see spend totalled by campaign, not just a flat list.
Pull all Cardly orders from Q1 (January 1 – March 31) into this sheet with order ID, created date, template name, and cost. Then add a summary block below the data that totals cost by template name.
You need to flag orders that were never delivered
Some orders show a status other than "delivered" and you need to identify them for follow-up.
Pull all Cardly orders from the last 90 days into this sheet with order ID, recipient name, cost, and delivery status. Then add column F that marks any row where delivery status is not "delivered" with the label "needs review" — leave delivered rows blank. Sort the sheet so "needs review" rows appear first.
The pattern: ask for the pull and the business logic in one prompt — SheetXAI handles the Cardly API call and the data shaping without a separate step.
Try It
Get the 7-day free trial of SheetXAI and open any Google Sheet you're using to track Cardly campaigns. Ask it to pull your order history and shape it for your next reconciliation. Or jump to creating a Cardly contact list from a sheet, or back to the Cardly integration overview.
