# CSV Upload

Measuring the impact of your direct mail campaigns can easily be done from inside the platform. We recommend waiting 30-90 days after your campaign's in-home date to see the full scope of success accurately reflected in the numbers.

<figure><img src="/files/WqTvsLHP6MNU2LaR52oJ" alt="" width="563"><figcaption></figcaption></figure>

A CSV record of your order data can be uploaded to the [Transactions](https://app.heypoplar.com/transaction) page of your account. Records can be uploaded more than once, without having duplicates - the platform will ignore duplicates and update any changes to existing orders by **order\_id.**

The maximum file size is 20MB so if your uploading large amounts of order data, we recommend splitting the CSV and uploading separately.

## **Required Data**

To run attribution reports the platform requires (at minimum) **order\_id, order\_date, shipping address OR billing address and order\_amount** to calculate revenue related metrics. For campaigns that mailed using emails for Address Enrichment, we accept **email OR hashed\_email** to match against as well.

<table><thead><tr><th width="233.203125">Column Header</th><th width="142.62890625">Required</th><th>Description</th></tr></thead><tbody><tr><td><strong>order_id</strong></td><td>Y</td><td>A unique identifier for each order</td></tr><tr><td><strong>order_date</strong></td><td>Y</td><td><p><strong>YYYY-MM-DD</strong></p><p><br>Must be an <strong>ISO8601</strong> formatted date representing the date and/or time of purchase</p></td></tr><tr><td><strong>order_amount</strong></td><td>Y/N</td><td><p><strong>Required</strong> to calculate Revenue and related metrics (CPO, ROAS, etc.), must represent the total order value in <strong>decima</strong>l form</p><p><br><em>Optional for use cases that don't require revenue tracking (site sign-ups, app downloads, etc.)</em></p></td></tr><tr><td><strong>customer_id</strong></td><td>N</td><td>A unique identifier for the transacting customer in your e-commerce system</td></tr><tr><td><strong>billing_name</strong><br><strong>billing_address_1</strong><br><strong>billing_address_2</strong> <br><strong>billing_city</strong><br><strong>billing_state</strong><br><strong>billing_postal_code</strong></td><td>Y/N</td><td><p><strong>Required</strong> if Shipping Address data is not provided</p><p><br><em>Optional to include with Shipping Address data</em></p></td></tr><tr><td><strong>shipping_name</strong><br><strong>shipping_address_1</strong><br><strong>shipping_address_2</strong><br><strong>shipping_city</strong><br><strong>shipping_state</strong><br><strong>shipping_postal_code</strong></td><td>Y/N</td><td><p><strong>Required</strong> if Billing Address data is not provided</p><p><br><em>Optional to include with Billing Address data</em></p></td></tr><tr><td><strong>email</strong></td><td>N</td><td><p>Can be used to match against campaigns that mailed using emails for <strong>Address Enrichment</strong></p><p><br><em>This data is not stored by Poplar, it is used to compute a hash and then discarded</em></p></td></tr><tr><td><strong>hashed_email</strong></td><td>N</td><td><p>The SHA256 has of the customer's email address as a 64 character string</p><p><br><em>Please convert the value of the email address to lowercase prior to hashing</em></p></td></tr><tr><td><strong>metadata</strong></td><td>N</td><td>Additional order details such as items purchased or <strong>New Buyer</strong> tags</td></tr><tr><td><strong>currency_code</strong></td><td>N</td><td>Three character ISO country-code - if not provided will default to <strong>USD</strong></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.heypoplar.com/platform-basics/transactional-data/csv-upload.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
