Skip to main content

CSV Upload - FAQs

What format does thanks.io require?

UTF-8 encoded with a header row. Each subsequent row is one recipient.

What columns are required?

A deliverable physical address is required (at minimum: street address and country). Name, city, state/province, and postal code are strongly recommended. Email, phone, and custom fields are optional.

How do I map custom fields?

The upload column-mapping screen lets you map CSV columns to custom1custom10. Once mapped, those values are available as %CUSTOM1%%CUSTOM10% in Message Templates.

Can I preview before uploading?

Yes. thanks.io shows a preview with sample rows and column mappings before you confirm the import.

What happens to duplicate rows?

Duplicate rows are imported. Duplicate Prevention then governs whether each recipient receives mail within the 36-hour window. De-duplicate your CSV before uploading for cleaner lists.

Does CSV upload update existing recipients?

No. Uploading adds new recipients. To update an existing recipient's address or custom fields, edit the recipient directly in the dashboard.

How do I handle international addresses?

Include a country column with the 2-letter country code (e.g., CA, GB). Follow the postal conventions of the destination country.

How do I add a spouse, second name, or business name to the postage address?

Use the 2nd Contact field (the CSV column header is company). The value you enter will appear below the recipient's name on the envelope.

You can also reference it in Message Templates using %COMPANY%.

If you want to address both people in the message body (for example, "Dear Bob & Alice"), store the combined name string in a custom field such as custom1, then use %CUSTOM1% in your template.