Export user profiles

You can export user profiles using the ReachFive Console. This export allows you to retrieve all data or just the latest data for your users. Exports are handled by jobs and can be executed on demand or scheduled as needed. You can export data in CSV or JSONL format.

Exporting user profiles

The instructions below guide you step-by-step in exporting your users from the ReachFive Console. The visual below shows you a high-level flow of the process.

I just want to see a video

Skip ahead to a short video tutorial that shows you how to configure an export job using a csv file on a SFTP server.

export jobs user flow

Prerequisites

  • You must have access to the ReachFive Console.

  • You must have a Developer, Manager, or Administrator role.

  • You must have the Export Jobs feature enabled.

Instructions

The instructions below apply to both creating and editing an export job definition.

If editing an existing export job, be sure to select the edit icon instead of creating a new definition.
  1. Go to Settings  Export definitions  User Profiles.

  2. Select New definition.

  3. Under General, give the export job a name and description. Don’t forget to Enable the job.

  4. Under Destination, choose the protocol you wish to use to export the file.

    • SFTP

    • S3

    • GCS

    1. Specify the Server host for the secure FTP site.

    2. Specify the Server port.

    3. Under Authentication method, choose the authentication method type:

      Username and password:

      1. Enter the Username for the server.

      2. Enter the Password for the server.

      OpenSSH:

      1. Enter the Username for the server.

      2. Enter the OpenSSH private key.

        example
        -----BEGIN ENCRYPTED PRIVATE KEY-----
        MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI5yNCu9T5SnsCAggA
        MBQGCCqGSIb3DQMHBAhJISTgOAxtYwSCAWDXK/a1lxHIbRZHud1tfRMR4ROqkmr4
        kVGAnfqTyGptZUt3ZtBgrYlFAaZ1z0wxnhmhn3KIbqebI4w0cIL/3tmQ6eBD1Ad1
        nSEjUxZCuzTkimXQ88wZLzIS9KHc8GhINiUu5rKWbyvWA13Ykc0w65Ot5MSw3cQc
        w1LEDJjTculyDcRQgiRfKH5376qTzukileeTrNebNq+wbhY1kEPAHojercB7d10E
        +QcbjJX1Tb1Zangom1qH9t/pepmV0Hn4EMzDs6DS2SWTffTddTY4dQzvksmLkP+J
        i8hkFIZwUkWpT9/k7MeklgtTiy0lR/Jj9CxAIQVxP8alLWbIqwCNRApleSmqtitt
        Z+NdsuNeTm3iUaPGYSw237tjLyVE6pr0EJqLv7VUClvJvBnH2qhQEtWYB9gvE1dS
        BioGu40pXVfjiLqhEKVVVEoHpI32oMkojhCGJs8Oow4bAxkzQFCtuWB1
        -----END ENCRYPTED PRIVATE KEY-----
    1. Specify the Path where the import file is located.

      For example

      <serverhost>/path-to-file/file.csv.

      Example w/variables

      <serverhost>/path-to-file/file-{{datetime}}.csv

      See Export path variables for more details.

    1. Specify the URL for the S3 bucket.

    2. Specify the name Bucket.

    3. Enter the Region for the server.

    4. Enter the Access key for AWS.

    5. Enter the Secret key for AWS.

    6. Specify the Path where the export file is to be sent.

      For example

      <serverhost>/path-to-file/file.csv.

      Example w/variables

      <serverhost>/path-to-file/file-{{datetime}}.csv

      See Export path variables for more details.

    1. Specify the Project ID for the Google Cloud Storage.

    2. Specify the App name.

    3. Enter the User name for the server.

    4. Specify the name Bucket.

    5. Enter the Credentials in JSON format.

    6. Specify the Path where the export file is to be sent.

      For example

      <serverhost>/path-to-file/file.csv.

      Example w/variables

      <serverhost>/path-to-file/file-{{datetime}}.csv

      See Export path variables for more details.

  5. Still under Destination, if desired, click Overwrite existing file.

    What happens if I do that?

    overwrite existing file

    • When you check the box, the existing file is replaced by the new file. Data in the existing file is completely replaced.

    • If left unchecked, the new data is added to the existing file.

    CSV example
    email;given_name;family_name (1)
    bruce@superheroes.com;Bruce;Wayne
    peter@superheroes.com;Peter;Parker
    email;given_name;family_name (1)
    clark@superheroes.com;Clark;Kent
    1 Note now the header is added again for CSV files.
    JSONL example
    {"given_name":"Bruce","family_name":"Wayne","email":"bruce@superheroes.com"}
    {"given_name":"Peter","family_name":"Parker","email":"peter@superheroes.com"}
    {"given_name":"Clark","family_name":"Kent","email":"clark@superheroes.com"}
  6. Under Schedule, if desired, use a cron expression for scheduling the job.

  7. Under File format, select the file format type you wish to export. This will be either JSONL or CSV.

    • JSONL

    • CSV

    1. Define the fields to include in the export. You can include all attributes of the user profile data model including custom fields and consents.

    2. Choose the Encoding standard for your JSONL file. This is either UTF-8 or ISO-8859-1.

      If using ISO-8859-1, note that there are limitations around characters that it encodes. It is primarily for Western European languages. It is not intended for non-Western European languages and also has limitations for certain digital characters and symbols. When a character is unrecognized, it is replaced with a question mark, ? in the export. If in doubt, choose UTF-8.

    All fields of the user profile data model will be exported, including consents and custom_fields.
    1. Define the columns to include in the export. You can include all attributes of the user profile data model including custom fields and consents.

      You can drag and drop the fields to sort the order in which you want the columns displayed as part of the export job.

    2. Choose the Encoding standard for your CSV file. This is either UTF-8 or ISO-8859-1.

      If using ISO-8859-1, note that there are limitations around characters that it encodes. It is primarily for Western European languages. It is not intended for non-Western European languages and also has limitations for certain digital characters and symbols. When a character is unrecognized, it is replaced with a question mark, ? in the export. If in doubt, choose UTF-8.

    3. Enter your Delimiter. The default is ;.

    4. Enter your Quote char. The default is ".

    5. Enter your Escape character. The default is \.

    The data for custom fields that contain the multiple type (such as tags) are separated by the same Delimiter that is configured in the job definition.

Filter export jobs

If you want to minimise database impact, you can filter what to export to limit the size of files that are generated. Filters allow you to define a range of values to export only user profiles that meet certain requirements.

The more filters you add, the more refined the data becomes.

Check out all the user profile fields you can filter. You can also filter custom fields and consents.

Operator limitations

As you might expect, not all of the operators listed below are available to all value types.

The operators listed below are marked with the value types they support:

  • Enumeration

  • Dates & Integers

  • String

  • Boolean

Filter operators
Operator Description Supports

=

Equal to/equivalent.

Example: User Age = 25 (only user profiles with the age of 25 are exported).

  • Dates & Integers

  • Enumeration

  • String

  • Boolean

>

Greater than.

Example: User Age > 25 (only user profiles with the age over 25 are exported).

Dates & Integers

Greater than or equal to.

Example: User Age ≥ 25 (only user profiles with the age 25 and over (inclusive) are exported).

Dates & Integers

<

Less than.

Example: User Age < 25 (only user profiles with the age under 25 are exported).

Dates & Integers

Less than or equal to.

Example: User Age ≤ 25 (only user profiles with the age 25 and under (inclusive) are exported).

Dates & Integers

between

Between (inclusive) two specified values.

Example: User Age between 25 and 30 (only user profiles with ages falling between 25 and 30 (inclusive) are exported).

Dates & Integers

is not empty

The value for the specified filter is not empty.

Example: User Age is not empty (only user profiles with the a value for the Age field are exported).

  • Dates & Integers

  • String

  • Boolean

is empty

The value for the specified filter is empty.

Example: User Age is empty (only user profiles with an empty Age field are exported).

  • Dates & Integers

  • String

  • Boolean

is any of

The filter includes any of the specified values.

Example: User Email is any of john@email.com; pierre@email.com (any profile that includes either john@email.com or pierre@email.com is exported).

You can paste up to 10k items separated by a semi-colon (;). Each item separated by a semi-colon (;) is treated as a unique value.
  • Dates & Integers

  • Enumeration

  • String

is none of

The filter excludes any of the specified values.

Example: User Email is none of john@email.com; pierre@email.com (john@email.com and pierre@email.com emails are excluded in the export).

You can paste up to 10k items separated by a semi-colon (;). Each item separated by a semi-colon (;) is treated as a unique value.
  • Dates & Integers

  • Enumeration

  • String

starts with

Filter values that start with the specified value.

Example: User Email starts with a (only User Emails beginning with a are exported).

String

ends with

Filter values that end with the specified value.

Example: User Email ends with x (only User Emails ending in x are exported).

String

contains

Filters values that contain the specified value.

Example: User Email contains b (only User Emails containing b are exported).

String

before

Filters values that have occurred before the specified time.

You must specify a unit (such as days or hours) for the export job to run successfully.

This operator can be used on all date fields such as:

  • User Created at

  • User Updated at

  • User First login

  • User Last login

Format: <N> <duration>

Example: User Last login before 30 days (only user that have logged in before the last 30 days are exported). In other words, it excludes the last 30 days from the results.

Time denominations

Days
  • d

  • day

  • days

Hours
  • h

  • hour

  • hours

Minutes
  • min

  • minute

  • minutes

Seconds
  • s

  • sec

  • second

  • seconds

Milliseconds
  • ms

  • milli

  • millisecond

  • milliseconds

Microseconds
  • µs

  • micro

  • microsecond

  • microseconds

Nanoseconds
  • ns

  • nano

  • nanosecond

  • nanoseconds

String

since

Filters values that have occurred since the specified timeframe.

You must specify a unit (such as days or hours) for the export job to run successfully.

Format: <N> <duration>

Example: User Created at since 4 days (Only users created in the last 4 days are exported).

Time denominations

Days
  • d

  • day

  • days

Hours
  • h

  • hour

  • hours

Minutes
  • min

  • minute

  • minutes

Seconds
  • s

  • sec

  • second

  • seconds

Milliseconds
  • ms

  • milli

  • millisecond

  • milliseconds

Microseconds
  • µs

  • micro

  • microsecond

  • microseconds

Nanoseconds
  • ns

  • nano

  • nanosecond

  • nanoseconds

String

Filterable user profile fields

You can filter the following User Profile fields for export jobs, User-event webhooks, and Pub/Sub hooks.

  • user email

  • user email verified

  • user verified emails

  • user unverified emails

  • user phone number

  • user phone number verified

  • user username

  • user first name

  • user last name

  • user name

  • user nickname

  • user gender

  • user age

  • user external id

  • user authentication types

  • user providers

  • user devices

  • user city

  • user country

  • user nb of logins

  • user nb of friends

  • user nb of local friends

  • user first login

  • user last login

  • user last login type

  • user created at

  • user updated at

  • user lite only

  • user suspension status

  • user title

  • user locality

  • user region

  • user country

  • user recipient

  • user company

  • user address_complement

  • user custom fields

  • user consents

  • user Kakao Age range

  • user Kakao Connecting Information

Run export job

Click 16 next to the export definition.

When you start a run, logs are created and available in Show job reports.

All job logs are accessible in the Settings  Job reports.

Export path variables

In some cases, you might want to add meta information to the path of an export file for identification and analysis purposes. With export path variables, you can do just that. Wherever you would like a variable in the path, simply add it to the name of the file as shown here:

<serverhost>/path-to-file/{{datetime}}-file-{{job_execution_id}}.csv (1)
1 In this example, {datetime} and {job_execution_id} are inserted as part of the file name as part of the export.
The export path variable feature is available for all export types including exporting profiles, user events, and consents.

Available export path variables

The following variables are available for you to use as part of your export.

  • {{datetime}} is the job execution date in the format of yyyy-MM-dd HH-mm-ss.

  • {{date}} is the job execution date in the format of yyyy-MM-dd.

  • {{time}} is the job execution time in the format of HH-mm-ss.

  • {{*datePattern}} lets you set the date pattern as shown here.

  • {{account}} is the name of the account where the export occurred.

  • {{job_execution_id}} is the specific id of the export being executed.

Video tutorial