Upload a short Cost data set with one row per appeal, or enter package cost in Direct Mail, so Matchback and Appeal Analysis can calculate ROI, net revenue, and response rate. Do not put cost on a mailing list and fill only the first row. That makes ROI look like thousands of percent.
Use this article when
- You want ROI to appear in the Matchback Report.
- You want ROI, ROI Net, net revenue, or response rate to appear in Insights > Appeal Analysis.
- You have a spreadsheet of direct mail or digital costs by appeal code, campaign, or event.
- You have a direct mail cost file from an agency, mail house, or internal team.
- ROI in Matchback looks like thousands of percent.
Applies to and prerequisites
| Product areas | Settings > Files and Insights. Direct Mail is optional. |
|---|---|
| Permissions | You need permission to edit connections, files, or reports for your organization. |
| Cost file requirements | Your file must include appeal_code and at least one cost field, such as cost or cost_per_piece. |
| Appeal Analysis requirements | ROI charts require total cost data. Response-rate charts require audience size data. |
| Direct Mail tool | Optional. If you do not see Direct Mail, use the cost file method. |
Upload a cost file for reporting
This is the most common way to add costs. Use it for direct mail and digital costs from an agency invoice, mail house file, ad platform export, or internal spreadsheet.
Cost files should include the cost amount and a value Avid can use to match the cost to results.
Cost file format
A cost file is a short summary: one row per appeal, not the mailing list.
| Column | Required? | Use |
|---|---|---|
appeal_code |
Required | Matches costs to appeal results. |
cost |
Optional | Total cost for the appeal, campaign, or event. Provide this or cost_per_piece. |
cost_per_piece |
Optional | Per-person or per-piece cost. Common for direct mail. Provide this or cost. |
audience_size |
Optional | Number of people in the audience. Needed for response rate. |
Provide at least one of cost or cost_per_piece.
- If you provide
audience_sizeandcost, Avid calculatescost_per_piece. - If you provide
audience_sizeandcost_per_piece, Avid calculates totalcost. - If you provide
costandcost_per_piece, Avid calculatesaudience_size.
Do not add a Cost column to a matchback or Direct Mail mailing list and fill only the first row. Matchback adds cost from each mailed record, and blank cells count as $0, so one filled cell of piece cost makes ROI look like thousands of percent.
Use a Cost data set with one row per appeal instead. Include appeal_code and either cost or cost_per_piece. Include audience_size when you have it. Avid then applies that cost to every person on the appeal. If you keep cost on the mailing list anyway, every mailed row needs cost_per_piece.
This example is one row for one appeal:
appeal_code |
audience_size |
cost_per_piece |
|---|---|---|
| SPRING26 | 5000 | 0.75 |
Use appeal codes exactly as they appear in your transaction or activity data. If the appeal code does not match the result data, Avid cannot connect the cost to reporting results.
LockStep insight: Ask your agency or mail house for a one-row cost summary by appeal. You do not need cost on every mailed name.
Create the Cost data set
-
Open Settings.
You see the organization settings page. Tabs include Connections, Files, and Data Blends.
-
Click Files.
You see summary cards for Total Files and Last Upload, plus the files table.
-
Upload your cost file if it is not already listed. On a ready file with no data set, click Add.
The Data Set Information screen opens. Wizard steps are Information, Filters, and Column Mapping.
-
Enter a clear Data Set Name.
Use a name your team can recognize later, such as
FY26 Spring Appeal Costs. -
Open Data Category and select Cost.
Avid shows: Cost: This is a list of costs associated with a campaign or event. It should include the cost, the appeal code or UTM information to be matched with results.
Data Category must be Cost. Do not choose Direct Mail Select, Activity Feed, Transactions, Constituents, or Other. Those categories tell Avid the file is an audience or gift file, not campaign cost.
-
Choose a Refresh Type.
Choose Append: New files are merged with prior uploads when future files should add to the data set. Choose Replace: New files replace prior uploads when each new file should replace the prior file. For a new file, Avid defaults to Replace.
-
Leave Ignore Unused Column Changes checked unless your team needs Avid to stop processing when new unmapped columns appear in future uploads.
This option is checked by default. When it is checked, files can still process when added or removed columns do not affect existing mappings.
-
Click Next.
The Inclusion Filters step opens. Filters are optional.
-
Add filters if only some rows in the file should be included. Otherwise, continue without adding filters.
Then click Next. The Column Mapping step opens.
-
Map your columns under Column Name You're Importing to an Avid Column.
Map
appeal_codeand at least one ofcostorcost_per_piece. Mapaudience_sizewhen the file includes audience counts. -
Click Save.
You see: The data set [name] was successfully created. The data will be processed shortly and can then be used for analysis and keeping your various systems in sync.
After the file processes and reporting refreshes, Avid can use the costs in the Matchback Report and Appeal Analysis.
For a deeper walkthrough of the data set wizard, see + Add a Data Set.
Add costs in the Direct Mail tool
Use this path only if your organization has Direct Mail. If you do not see Direct Mail in the left navigation, use the cost file method above.
If Avid shows This feature is not included in your current plan., use the cost file method.
If your organization builds appeals in Direct Mail, you can enter package cost while building the appeal instead of uploading a separate file.
-
In the left navigation, click Direct Mail.
You see tabs for Appeals, File Layouts, and Audiences.
-
Click Appeals, then click the appeal name you want to update.
You see the appeal workflow with Information, Audience, Packages, Selection, and Review.
-
On the Information tab, you can enter shared campaign costs in Fixed Project Costs.
Avid describes this as project costs such as copy writing, design, and agency fees.
Fixed Project Costs appear in the Review budget rollup only. Avid does not use them as Matchback cost.
If the same appeal has Direct Mail package cost and a standalone Cost upload, Direct Mail package cost takes priority.
-
Click Packages, then add or edit a package and enter the package cost in Est. Package Cost.
Avid uses this value as the price per piece. If packages in the same appeal have different costs, enter each package cost here.
-
Click Save Package.
The package is saved to the appeal.
-
Click Review.
You see Price / Piece, Audience Size, and Total Cost. Total Cost is package cost times audience size. The footer shows Fixed Costs: and Total:.
-
Check Include the exported data in Direct Mail and Matchback reporting, then click Generate File.
Avid writes the package cost per piece into Direct Mail and Matchback reporting.
If you generate the file again, Avid asks: Your previous reporting export will be overwritten. Do you want to continue?
View ROI in Appeal Analysis
Use Appeal Analysis to review how appeals performed after costs have been added and matched to results.
-
Open Insights.
You see the Insights report list.
-
Open Appeal Analysis.
The report opens with sections such as Appeal Performance Overview, ROI Analysis, Donor Analysis, Day by Day Details, and Goal Tracking.
-
Review the report filters.
The report uses filters such as Gift Date. Adjust the date range or appeal filters so the report includes the appeals you want to review.
-
Click ROI Analysis.
This section is where Avid displays cost-aware appeal performance.
-
Review Top 10 Appeals by Net Revenue.
This chart shows revenue after cost is factored in. It requires total cost data.
-
Review Top 10 Appeals by Response Rate.
This chart uses Audience Size and Response Rate. It requires audience size data.
-
Review Top 10 Appeals by ROI.
This chart uses Audience Size, ROI, and ROI Net. It requires total cost data.
-
Review Appeal Details Table.
This table is grouped by Appeal Code and Appeal Name. It includes columns such as Revenue, ROI, and ROI Net.
Net Revenue is revenue minus total cost. ROI compares revenue to total cost. ROI Net compares net revenue to total cost. If total cost or audience size is missing, some ROI Analysis charts may not show results for that appeal.
What you will see
- Uploaded cost files appear as data sets with Data Category set to Cost, with one row per appeal.
- If you use Direct Mail, appeals show package costs on the Review tab.
- Insights > Appeal Analysis > ROI Analysis shows cost-aware charts after cost data is available.
- ROI and net revenue appear in the Matchback Report after Avid has matching cost and result data.
Troubleshooting
ROI does not appear in the Matchback Report
- Confirm the appeal code in your cost file matches the appeal code in your transaction or activity data.
- Confirm the uploaded file was added as a data set with Data Category set to Cost.
- Confirm you did not choose Direct Mail Select, Activity Feed, Transactions, or Constituents.
- Confirm you mapped
appeal_codeand at least one cost field. - Confirm reporting has refreshed after the file processed.
ROI does not appear in Appeal Analysis
- Open Insights > Appeal Analysis > ROI Analysis.
- Confirm the report filters include the gift dates and appeals you want to review.
- Confirm the appeal has total cost data. The ROI and net revenue charts require total cost.
- Confirm the cost file uses the same appeal code as the result data.
- Confirm the cost file was mapped as a Cost data set.
- Confirm reporting has refreshed after the cost data was added.
Response Rate does not appear in Appeal Analysis
- Confirm the appeal has audience size data.
- If you uploaded a cost file, map
audience_sizewhen the file includes that column. - Review the Top 10 Appeals by Response Rate chart in ROI Analysis. This chart requires audience size.
Why is ROI a huge number, like thousands of percent?
This usually happens when cost sits on a mailing or matchback list, and only the first row has a cost value.
Matchback adds cost from each mailed person. Blank cells count as $0. One filled cell of piece cost produces a huge ROI.
Fix it this way:
-
Create a Cost data set with one row per appeal.
Include
appeal_codeand eithercostorcost_per_piece. Includeaudience_sizewhen you have it. Avid applies that cost to every person on the appeal. - If you keep cost on the mailing list, enter
cost_per_pieceon every mailed row.
Then wait for reporting to refresh and open the Matchback Report again.
When to contact LockStep Support
Contact LockStep Support if ROI is still missing or still looks like thousands of percent after these checks.
Include:
- The appeal name.
- The cost file name.
- The Data Category on the data set.
- Whether cost was on the mailing list.
- A screenshot of the ROI you see.