Check a file
Find and fix the format problems that cause failed uploads, and test a join with business data. Runs in your browser; your file is never uploaded.
Drop the file you’re about to upload. The checker reads it inside this browser tab, lists every known problem with a code, and gives you a fixed copy.
Use it on a file whose columns are already named text, userId, incoming, sessionId and dimensionlabs_timestamp, or on the output of the converter. If your export has its own column names, convert it first: otherwise the checker reports them as missing (C09). For business data, set File type to Business data, or leave it on Detect for me.
Test a join with a business data file
Drop the business file you'll join to these conversations, then pick the key in each. The test counts matches; it doesn't upload either file.
What it checks
Section titled “What it checks”Every rule comes from real upload failures. Each code has an entry in Upload errors.
| Area | Checks |
|---|---|
| The file | Encoding (F01), byte order mark (F02), null bytes (F03), line endings (F04, F05), every field quoted (F10), replacement characters (F12), size (F13), file type (F14) |
| Column names | Required columns missing (C09), names to rename (C01), missing header (F06), backslashes (F07), stray spaces (F08), rows with the wrong number of columns (F09) |
| Text | Empty text (C02), placeholder text (C03), line breaks inside a field (C04) |
| Who wrote it | TRUE/FALSE (C05), other values in incoming (C06), blank userId (C07) |
| Ids | Colons (C08), ids stored as decimals (C10), scientific notation (F11) |
| Timestamps | Empty (T00), seconds instead of milliseconds (T01), dates instead of numbers (T02), scientific notation (T03), outside 2000 to 2030 (T04), messages under a second apart (T05) |
| Business data | File name (B02), mixed date formats (B03), mixed yes/no values (B04), table naming (B05) |
What it fixes, and what it won’t
Section titled “What it fixes, and what it won’t”- Fixed automatically: byte order mark, null bytes, line endings, quoting, header spaces, column names,
TRUE/FALSE, seconds to milliseconds, colons in ids, ids stored as decimals, line breaks in text, and a blankuserId(filled from thesessionId). - Fixed when you tick the box: saving as UTF-8, backslashes in column names, removing rows with no text or placeholder text, writing out scientific notation that lost no digits, spacing messages a second apart, and, for business data, rewriting dates as
YYYY-MM-DDand yes/no values astrueandfalse. - Not fixed here: conversation timestamps written as dates (T02) need the converter, which turns them into Unix milliseconds. Empty timestamps (T00), a missing header (F06) and rows with the wrong number of columns (F09) need a new export or a hand edit.
- Never “fixed”: values that already lost information. A timestamp Excel saved as
1.70324E+12has lost its last digits; any value the checker wrote back would be a guess. Re-export from the source system, or drop the original.xlsxfile here. The checker reads the first sheet of an Excel file directly, with the column names in row 1 and every digit intact.
Files of any size are fine to upload: Dimension Labs splits a large file for you, so you don’t need to split it.
Test a join
Section titled “Test a join”To see how many of your conversations will match a business data file, check your conversation file first. Then open Test a join with a business data file below the results, drop the business file, and pick the key column in each. The test counts how many conversation keys are found in the business file, and how many keys repeat there. It doesn’t upload either file. A low match rate nearly always means the ids are written differently on the two sides; see Join business data.
How to verify that nothing is uploaded
Section titled “How to verify that nothing is uploaded”Open your browser’s developer tools (in Chrome, View > Developer > Developer Tools on a Mac, or press F12 on Windows), go to the Network tab, and drop a file. No request carries your file. The page is also served with a security policy that only lets it talk to this site, and the checker’s code has no way to send data: a test in our build fails if it ever does.
The report you can download is a small .json file. It lists issues by code, row number and column name, and contains no values from your file other than the column names, so it’s safe to send to [email protected].