# How to Import Offline Conversions and Sales for Attribution

Import offline sales, phone and walk-in leads, and lead updates from CSV or Excel, and credit each one to the campaigns and visits behind the person.

Source: https://sourceloop.ai/help/import-offline-data/
Updated: 2026-10-10

---

Some of your best results never touch your website: a deal closed over the phone, a walk-in customer, a trade show lead, or an invoice in a tool SourceLoop doesn't connect to. **Offline data** brings them in and credits them to the visits and campaigns behind each person, so your reports show the whole picture.

## What you can import

- **Sales**: invoices, paid jobs, or closed deals, with their amount and date
- **Leads**: walk-ins, trade show contacts, untracked calls
- **Updates**: changes to leads you already have, such as quality (Good, Not a fit, Spam), lead value, stage, or status

## Option 1: Upload a file

1. Open **Setup** in the left sidebar, then **Data sync**, and choose the **Offline data** tab.
2. Click **Import**, then **Import a file**. CSV and Excel (`.xlsx`) work, up to 20 MB.
3. Choose what each row is: **Sale**, **Lead**, or an update. Download the matching template if you're starting from scratch.
4. Check the columns. SourceLoop matches them by their header, so the order doesn't matter. Pick a column for anything it didn't match.
5. Check the rows. The preview shows how many rows are new, changed, or unchanged, who they match, and any problems.
6. Import.

Rows apply in the background and appear in your reports as they go.

## Option 2: Add a record by hand

For a single sale or lead, click **Import**, then **Add a sale** or **Add a lead**. Enter who it was, the date, and the amount. A sale is credited to that person's visits straight away.

## How rows are matched

Each row is matched to a person by SourceLoop lead ID, visitor ID, email, or phone, in that order. When the person has visited your site before, their sale or lead is credited to those visits, so the campaign that brought them in gets the credit.

When a row matches nobody, SourceLoop creates a new person for sales and leads. These show as **Known, no visits** in the preview. If your file has a "How did you hear about us?" column, map it, and those people are credited to the source they named.

## Manage uploads

Each source on the Offline data tab lists its **Uploads**. Open one to see the rows imported and any not imported, with the reason. **Undo** withdraws the sales and leads an upload added: sale amounts come out of your revenue, and leads leave your reports and are withdrawn from ad platforms.

## What's next

- **Send imported sales to Google and Meta:** [Conversion sync overview](/help/conversion-sync-overview/)
- **See revenue by channel:** [Traffic and Revenue report](/help/traffic-dashboard/)
- **Work with the people you imported:** [The Contacts table](/help/contacts-leads-table/)

## Frequently Asked Questions

### What does each row need?

Something to find the person by, an email, a phone number, a visitor ID, or a SourceLoop lead ID, plus a date. Sales also need an amount. Rows missing these are listed as problems instead of being guessed.

### What if I upload the same file twice?

Nothing changes. Rows are matched by their order or record ID, or by who, when, and how much, so a second upload of the same rows adds nothing.

### Do imported sales go to my ad platforms?

Yes, through your conversion syncs, if the sale is recent enough for the platform to accept. Meta takes up to 7 days and Google up to 90.

### Will importing old data trigger alerts or CRM updates?

No. Imports never trigger alerts, outgoing webhooks, CRM updates, or lead quality rules, so loading a year of history won't flood anyone's inbox.

### Can I undo an import?

Yes, for sales and leads. Undo an upload and the rows it added are withdrawn from your reports and ad platforms. Updates to existing leads can't be undone.

### Can I connect a Google Sheet instead of uploading files?

Google Sheets is on its way. Until it is switched on for your workspace, download the sheet as CSV or Excel and upload that file.
