Import ad costs and booked deals from a CSV
Use a spreadsheet export when you do not need an automatic connection. Import daily ad costs into campaign reporting, or keep the booked value of won CRM deals in a separate ledger. You do not need a provider API key or a webhook.
Instructions reviewed
Choose what the file contains
| Import | What it does | What it does not do |
|---|---|---|
| Daily ad spend | Adds dated costs to campaign ROAS and ad-cost totals. | Does not create visits, sales, or an advertising connection. |
| Closed-won CRM deals | Keeps won deal values in the imported-deals ledger, with dates and source labels you supply. | Does not increase collected payment revenue or attribute a deal to a tracked visitor. |
Prepare the spreadsheet
- Open Setup → Import CSV files.
Choose Daily ad spend or Closed-won CRM deals. An owner or admin can save imports; other team members can read saved records.
- Download the empty template.
Keep its column names. Add up to 1,000 rows, then export as CSV under 1 MB. Use the website currency and decimal amounts such as 125.50, with no currency symbols or thousands separators.
- Use stable identifiers.
For ad spend, use the exact utm_campaign value from your campaign links and combine multiple accounts into one cost per campaign per day. For CRM deals, use a consistent source label and the CRM's permanent deal ID. Only export closed-won deals; exclude pipeline forecasts and lost deals.
Daily ad spend example
Use one row per date and campaign. The amount above becomes 12,550 cents, not 125 cents. Re-uploading an identical row does not add it twice. A campaign already using typed-in or connected-platform costs cannot also use CSV costs.
CSV costs use calendar dates in the selected dashboard range. A partial-day view includes that day's full imported cost; the file does not contain hourly spend. Existing connected-platform and typed-in cost behavior is unchanged.
date,source,campaign,amount,currency
2026-10-29,newsletter,autumn-launch,125.50,USDBooked deal example
A source plus deal_id identifies one won deal. Keep both stable on later exports. Source and campaign are labels from your file; they do not prove a tracked marketing journey or a payment. Do not import the same deal under a different ID or source.
Read these amounts under Setup → Import CSV files → Closed-won CRM deals. Choose From and Through dates to see total booked value and saved records. This ledger is separate from payment revenue in the dashboard, REST reports and MCP.
deal_id,date,source,campaign,amount,currency
DEAL-1042,2026-10-29,crm-export,autumn-launch,2500.00,USDPreview, then save
- Choose your file.
Attriboo validates the columns and sends the valid rows to your workspace for duplicate checks. It does not save them yet. If a row is invalid, the whole file waits until you fix it.
- Review new, changed and identical rows.
The preview shows the first five rows and the file total. Identical rows are skipped. If a known row has a different amount, date or label, explicitly choose Replace changed rows to overwrite the existing values.
- Choose Save import.
All rows save together or none do. The dashboard refreshes after saving. Import an updated file yourself when your source spreadsheet changes; this connection does not sync automatically.
Correct or remove an import
Upload corrected rows with the same date/campaign or source/deal_id, preview them, then approve replacement. A changed ad-cost date is a new row; remove the old campaign's CSV records and upload the corrected full campaign history if you need to move dates.
In saved records, Remove asks you to confirm. For ad spend it removes every CSV date for that campaign. For CRM it removes that one source/deal_id. Connected payment records are never removed by this action. You can restore CSV records by uploading the original file.
To switch a CSV campaign to a native ad connection, remove its CSV costs first, then sync the ad connection. Saved records show the newest 100 rows in your chosen dates; the totals include all matching rows. Each website can hold up to 50,000 rows per import type.
You are done when
Your saved CSV costs appear in matching campaign reports, or your won deals appear in the separate booked-deals ledger.
Still need a hand?
Send a question without needing to sign in.