Uploads

The Uploads page lets you analyse a large batch of customers in one go. Instead of calling the API once per customer, you upload a single CSV file and Trustfull runs the same enrichment on every row.

Uploads is one of the two ways to send Trustfull a file:

  • Uploads — customers you want to analyse now. Use it to score a backlog, check a campaign, or try Trustfull on your own data.
  • Training Sets — labelled results of lookups you already ran. Use it to measure how well the scores matched what really happened.

In short: use Uploads to get scores and enrich your data, use Training Sets to check how good past scores were.

What Your File Must Look Like

RuleValue
FormatCSV only
EncodingUTF-8
Maximum rows200,000
Maximum file size4 MB
SeparatorA comma (,) or a semicolon (;), the same one everywhere
Required columnscustomer_id, and at least one signal column
Maximum value length200 characters (customer_id allows 256)

Start from the template, then edit it

In the upload modal, click Download CSV template. The template holds every column Trustfull supports, filled with one example row:

customer_id,phone_number,email,ip,first_name,last_name,domain
your-customer-id,393481122333,[email protected],127.0.0.1,Mario,Rossi,example.com

Delete the columns you do not need, then replace the example row with your own data.

⚠️

Edit the template before you upload it

The template includes the domain column alongside all the others. A domain file can only contain customer_id and domain, so if you upload the template unchanged it will be rejected. Delete the domain column, or delete all the other columns.

Columns

Every file needs two things.

The first is the customer_id column. The second is at least one signal column.

The customer_id is the name you give to the request. A signal is the data you want Trustfull to check. A phone number is a signal. An email address is a signal.

A row with a customer_id and no signal gives Trustfull nothing to check. Trustfull skips that row.

ColumnRequiredWhat to put in it
customer_idYesYour own name for this request. Use a new one every time. Never use the same one twice.
phone_numberNoInternational format, country code first, without + or leading zeros.
emailNoThe email address.
ipNoThe IP address.
first_nameNoThe given name. Always pair it with last_name.
last_nameNoThe family name. Always pair it with first_name.
domainNoA website domain. See the rule below.

You must also include at least one signal column. Any other column name stops the upload.

What Trustfull analyses

Trustfull works out which products to run from the columns you include:

Columns you provideActivated product
phone_numberPhone
emailEmail
ipIP
first_name and last_name togetherName
Two or more of the aboveOnboarding: each product above returns its own score, plus a score for the whole identity
domainDomain Intelligence

Three rules to remember:

  • You cannot upload names on their own. If you include first_name and last_name, add at least one other signal as well.
  • Keep domains in their own file. A file with a domain column can only contain customer_id and domain. Any other column will be rejected.
  • Two or more signals become an Onboarding. Trustfull returns a score for each product, and an Onboarding score for the whole identity.

Examples

Every file starts from the same template. What changes is which columns you keep.

Onboarding

Keep two or more signals and delete domain. Trustfull returns a score for each product it runs, plus an Onboarding score for the whole identity. Any combination works, as long as first_name and last_name travel together.

customer_id,phone_number,email,ip,first_name,last_name
cust-001,393481122333,[email protected],127.0.0.1,Mario,Rossi
cust-002,393482233444,[email protected],127.0.0.2,Anna,Bianchi
customer_id,phone_number,email
cust-001,393481122333,[email protected]
cust-002,393482233444,[email protected]
customer_id,phone_number,first_name,last_name
cust-001,393481122333,Mario,Rossi
cust-002,393482233444,Anna,Bianchi
customer_id,email,ip
cust-001,[email protected],127.0.0.1
cust-002,[email protected],127.0.0.2

Single product

Keep customer_id and one signal, then delete every other column. You get that product's score only, with no Onboarding score for the identity. Names cannot be used on their own, so there is no name-only file.

customer_id,phone_number
cust-001,393481122333
cust-002,393482233444
customer_id,email
cust-001,[email protected]
cust-002,[email protected]
customer_id,ip
cust-001,127.0.0.1
cust-002,127.0.0.2

Domain

Keep customer_id and domain, then delete every other column. Domains cannot be combined with customer signals, so they always need a separate file.

customer_id,domain
cust-001,example.com
cust-002,another-example.com

Using semicolons

Any file above also works with semicolons, as long as every line uses the same separator.

customer_id;email
cust-001;[email protected]
cust-002;[email protected]

How to Upload a File

Uploading takes three steps: fill in the modal, wait for the check, then confirm.

1. Open the upload modal

Click Upload on the CSV Upload page. Select the App key the analysis runs against, give the file a name, then drop your CSV in the upload area.

2. Wait for the check

Trustfull reads the whole file before it enriches anything, so you learn about problems before you spend credit. The upload waits in Validating while this runs.

3. Start the import

When the file passes, a Validation completed banner shows the record count and the Upload button becomes active. Click it to start the run. Rows are enriched in the background, and the counters update as they complete.

What Trustfull Checks

The check runs before anything is enriched, so you do not start an upload with data that cannot be processed. A misspelled column, a broken phone number, or a customer_id used twice would otherwise cost you credit and give you nothing back for those rows. Trustfull finds these problems first, so you can fix the file and upload it again.

Trustfull reads every row, not a sample. The check happens in four passes.

The header

Trustfull confirms you used the same separator everywhere, that every column name is one it supports, and that customer_id is there. It also confirms a domain column is not sitting next to other signals, and that names are not the only signal in the file.

The columns

Trustfull looks down each column. If a column is named in the header but every row under it is empty, Trustfull tells you, so you can remove it.

Every row

Trustfull confirms customer_id is present, is not used twice, and is not longer than 256 characters. It checks that the row contains at least one signal. It then reads each phone number, email address, IP address and domain to check it is valid, and confirms no value is longer than 200 characters. It also looks at names, but a name problem never stops the row.

Your balance

Before the run starts Trustfull works out what the file costs: the price of the products it detected, multiplied by the number of rows. If your balance does not cover it, the upload stops here.

The report groups problems by type and shows up to 100 examples, with a maximum of 5 per type. If there are more, the report says so.

Main Errors

A problem can stop the whole upload, skip a single row, or just be flagged as a warning.

Problems that stop the upload

Nothing is imported. Fix the file and upload it again.

ErrorWhat it meansWhat to do
Unrecognized columnA column name Trustfull does not support.Rename or remove the column. The report lists the names you can use.
Domain mixed columnsA domain column sits next to other signal columns.Move the domains into their own file.
Name claim aloneThe file has names and nothing else.Add a phone number, an email address or an IP address.
Malformed rowA row has more or fewer fields than the header.Look for an extra separator or a value that needs quotes.
Empty columnA column is named in the header but every row under it is empty.Remove the column.
Insufficient creditYour balance does not cover the file.Top up, or split the file into smaller uploads.

Problems that skip one row

The rest of the file is imported as normal. Only the row with the problem is left out.

ErrorWhat it means
Missing customer idThe row has no customer_id.
Duplicated customer idThe same customer_id is used on another row.
No claimThe row has a customer_id but no signal in it.
Invalid phone / Unparsable phoneThe phone number cannot be read as a real number.
Invalid emailThe email address is not valid.
Invalid IPThe IP address is not valid.
Invalid domainThe domain is not valid.
Value too longA value is longer than 200 characters.
Missing first name / Missing last nameOnly one half of the name is there.

Warnings

The row is imported and analysed as normal. A warning tells you the data is poor quality, so the result for that row is less reliable.

WarningWhat it means
Name contains emailThe name field holds an email address.
Name contains symbolsThe name holds characters Trustfull does not expect in a name.
Name too shortThe name is very short.

Upload Statuses

StatusWhat it means
ValidatingTrustfull is checking the file.
ValidatedThe file passed and is ready to start.
PendingThe run is queued.
RunningRows are being enriched.
CompletedEvery row is done.
ErrorThe run stopped. The report explains why.

FAQ

📘

Can I upload an Excel file?

No. The Uploads page accepts CSV only. Export your sheet to CSV first, and keep the encoding as UTF-8.

📘

Can I upload the template without changing it?

No. The template lists every column Trustfull supports, including domain. A domain file can only contain customer_id and domain, so you need to delete either the domain column or all the other columns before you upload it.

📘

Which separator should I use?

A comma or a semicolon, whichever your tool produces. Trustfull reads the separator from the header row, so use the same one on every line. A file that mixes both is rejected.

📘

Can I upload a file with only first name and last name?

No.

Trustfull cannot run the name product on its own. A file with only first_name and last_name is rejected.

Add at least one more signal. A phone number works. An email address works. An IP address works.

📘

Can I put domain, email and phone in the same file?

No. A file with a domain column can only contain customer_id and domain. Put the domains in one file and the other signals in another.

📘

What happens if the same customer id appears twice?

Trustfull skips the repeated row. The rest of the file runs as normal.

A customer_id belongs to one request only. This is why it must be different on every row.

📘

Can I reuse a customer id from an earlier upload or API call?

No.

A customer_id belongs to one request only. When you send it, that id is used. You cannot send it a second time. This is true for an upload, and it is true for an API call.

Use a new customer_id for every row, and for every call.

You may want to follow the same person across several requests. Keep that link in your own system. Send Trustfull a new customer_id each time.

📘

Do I need to fill in every column?

No, but you need at least one signal.

Include only the signals you have. Leave out the ones you do not have. Trustfull reads the columns in your file and runs the products that match them. Fewer columns means fewer products.

A file with only customer_id holds no signal. Trustfull rejects that file.

📘

How do I control which products run?

Trustfull works them out from the columns you include. Add a column for each signal you want analysed, and leave out the ones you do not.

📘

Can I stop an upload once I have confirmed it?

No. Once you click Upload the file runs to the end, and there is no way to cancel it. Read the validation report carefully before you confirm, because that is your last chance to change the file.

📘

What happens if I run out of credit halfway?

That does not happen. Trustfull prices the whole file before the run starts and stops it if your balance does not cover it, so you never end up with a half-finished upload.

📘

How large can my file be?

A file can hold up to 200,000 rows and must be no larger than 4 MB. Most files reach the size limit before the row limit, so check both. Split larger sets into several uploads, or open a support ticket if you need to send more in one go.

Related

  • Training Sets — the other upload type, for measuring model accuracy.

Did this page help you?