The signup event stream represents the occurrence of signups in your data, enabling various lead-focused predictions.


In this tutorial, we'll show you how to:

  • Add data representing your signup events using a dataset.

Let's dive in.

  1. You'll need a Faraday account — signup is free!

Add data

Create a signup event stream

Using CSV as an easy example

This section describes how to add data securely using a CSV file that you export from your data infrastructure.

Most Faraday users eventually update their configuration to pull data directly from their data warehouses, cloud buckets, or databases. To do that, you’ll add your source as a Connection and then choose it below instead of CSV.

For more, see our docs on Datasets and Connections.

  1. Extract a CSV representing your signup from your systems, or download the sample transactions file from Farazona. Either way, save it someplace memorable.

First, upload your data with a POST /uploads request:

curl --request POST \ --url \ --header 'Accept: application/json' \ --header 'Authorization: Bearer YOUR_API_KEY' \ --header 'Content-Type: application/octet-stream' \ --data-binary "@YOUR_CSV_FILE.csv"

Then use a POST /datasets request to register the data:

curl --json '{
  "name": "Signup",
  "identity_sets": {
    "shipping": {
      "city": "shipping_city",
      "house_number_and_street": [
      "person_first_name": "shipping_address_fn",
      "person_last_name": "shipping_address_ln",
      "postcode": "shipping_postcode",
      "state": "shipping_state"
  "options": {
    "type": "hosted_csv",
    "upload_directory": "signup_data_files"
  "output_to_streams": {
    "signup": {
      "data_map": {
        "datetime": "created_at"
      "value": "total"

Your event stream will start building in the background. You can proceed immediately with the next set of instructions. When your stream is done building, you’ll get an email.