Take your scan analytics further
Want to keep your scan numbers, share them or make your own chart? Premium lets you download a report. This guide explains what the file contains and how to open it, even if you have never used a CSV file before.
On this page
What is a CSV file?
A CSV file stores information in rows and columns. You can open it in a spreadsheet, an app such as Excel or Google Sheets that displays a grid of cells. CSV stands for “comma-separated values”: commas separate the columns inside the file. You do not need to read or edit those commas yourself.
1. Download your report
- With a Premium plan, open Analytics in the app. Choose your dates. You can leave the product and other filters unchanged for a first download, or use them to narrow your report.
- Select Apply filters and wait for the report to load. If you also want an earlier total, turn on Compare with the previous period before applying. That option is available only when there is enough earlier history.
- Scroll to Data table and download. Use Group table rows by to choose product, country, device or operating-system rows; this updates the table immediately. Select Export CSV. Your browser downloads scan-analytics.csv, usually to your Downloads folder. The file uses this grouping and the filters you last applied. Unapplied filter edits do not change it.
The download fetches the numbers again. New visits may have arrived since the chart loaded, so the file can have newer totals even though the dates and filters are the same.
2. Open it in your spreadsheet app
Use the app’s Import option to open scan-analytics.csv. In Excel, look under Data for From Text/CSV. In Google Sheets, start with File, then Import. Menu names can vary with your language and version.
If asked, choose Comma as the separator (it tells the app where each column starts) and UTF-8 as the file encoding (it keeps accents and other characters readable). The preview should show five separate columns, starting with section.
For a product report, keep gtin and key as Text when importing. GTIN is the product’s barcode number: 09506000134352 must keep its first zero. Text also keeps product identifiers unchanged. If the app offers automatic conversion to numbers or dates, turn it off for these columns. If a zero has disappeared, import the original file again with conversion off.
Microsoft’s illustrated guide to importing text and CSV files3. Understand the numbers
Imagine one product received 12 scans on the first day and 30 on the next. That makes 42 in total. Here is the daily activity shown as a chart and a simple table. The dates and product in this guide are examples.
Two days of scan activity
Sample dataTwo days of sample activity: 12 + 30 = 42 estimated scans
42estimated scans
Move over a point to see its number · Tap to keep a day selected · Keyboard: Tab to the chart, then arrow keys
View chart data
| Date | Daily scans | Running total |
|---|---|---|
| 2026-10-20 | 12 | 12 |
| 2026-10-21 | 30 | 42 |
| Day | Estimated scans |
|---|---|
| First day | 12 |
| Second day | 30 |
| Total for both days | 42 |
Several views of the same activity
The file combines different views in one table. The section column tells you which kind of row you are looking at. These are grouped counts, not a list of individual people or pictures of the charts.
- summary: the total for your selected dates, plus the previous period’s total if comparison was enabled. In our example, the current total is 42; the earlier period has 35.
- daily: one row for each selected day. In our example, these are 12 and 30.
- breakdown: the same activity grouped by the report you chose, such as products or countries. Our single product has 42 scans. An overview report has no breakdown rows.
Do not add the summary, daily and breakdown rows together: they describe the same scans in different ways. To make a chart by day, use only daily rows. To compare products, use only the product breakdown rows.
If the download is unavailable
Check that your current plan is Premium and a report has loaded. After changing plans, refresh the page. If the download fails, apply your dates and filters again, then retry. Free and Lite do not include export.
A download uses the same available history as your report. It cannot recover expired data. Counts estimate visits reaching CodePersist, not unique people or purchases; the analytics guide explains what is counted.
Optional: file details
Show what each column means
The file’s column names and section codes stay in English, even when you use CodePersist in French. Here is what they mean.
| Column | Meaning |
|---|---|
| section | The kind of row: summary (total), daily (one day) or breakdown (one group). |
| key | Identifies the row: total or previous for a summary; a date for a daily row; a product identifier or category code for a group. |
| label | The readable product or category name. Blank for summary and daily rows. |
| gtin | The product’s barcode number, when the row is a product group. Otherwise blank. Keep this column as Text to preserve initial zeros. |
| estimated_count | The estimated number of scans. The file uses a decimal point and can contain fractions because counts are estimates. |
Dates inside the file use year-month-day, for example 2026-10-20, in UTC (the shared reporting time zone). Counts may have more decimal places than the rounded chart labels. Some text can start with an apostrophe: this prevents a spreadsheet from treating it as a calculation. Use the app’s CSV import so names containing commas or quotation marks stay in one cell.
See the example as it appears inside the CSV file
section,key,label,gtin,estimated_count
summary,total,,,42
summary,previous,,,35
daily,2026-10-20,,,12
daily,2026-10-21,,,30
breakdown,"example-product-id","Cedar desk lamp","09506000134352",42