Creating audience groups using CSV Import and Tags

Importing users from a CSV and grouping them using Tags#

  1. Create a CSV file with user details. Make sure that the column headers match the name of the user property that you want to map with.
note

These names are case sensitive and the column header should not include spaces before/after.

  1. Navigate to Engage > User 360.

  2. Click on Add user > Import users.

  3. Upload the CSV file that you have created.

  4. In Tags, add custom tags for the group. These tags are added to every user in the CSV. This helps you differentiate between users uploaded from multiple CSV files and to maintain multiple audiences.

  5. Create a segment using those tags to refer to the various set of audiences you have imported.

note

If the userId is not passed in the CSV, yellow.ai creates and assigns an internally generated userId to each user.

Pre-checks before uploading the CSV#

To ensure that your users are imported successfully, ensure the following:

  • Correct column headers → Make sure that the column headers match the name of the user property that you want to map with. These names are case sensitive and the column header should not include spaces before/after.
warning

If any of these column headers do not match with any user property, the entire CSV import will fail.

  • Use correct data type → Data type validation is run before importing each user record. User records where this validation fails, will be skipped. Each data type accepts the following values:
Data TypeAccepted Value
StringAny string value
Listsemicolon ; separated values without spaces
emailA valid email id format
NumberAny integer or decimal number with max 15 digits
PhoneA valid phone number with country code
urlA valid url format
dateYYYY-MM-DD format
dateTimeYYYY-MM-DD hh:mm:ss format
timehh:mm:ss format
booleantrue or false value, this is case insensitive
tagssemicolon ; separated values without spaces

Using the userId column to identify users#

You can pass the userId for the users being imported by creating a userId column in your CSV. However, keep in mind that no 2 user records can have the same userId. Know more about userId and it’s importance here.

When the CSV file includes a user record with a userId that already exists in the users table, a conflict arises between the old record and the new record. The new record is merged into the old record in the following manner:

  • Existing values of the user will be updated with the new record values.
  • Properties not provided for the new record, will be retained for the older record.

For example:

Old record:

userIdfirstNameemailphonetags
123Sarthak[email protected]919999999999tag1,tag2

New record:

userIdfirstNameemailphonetags
123918888888888tag3,tag4

Merged Record:

userIdfirstNameemailphonetags
123Sarthak[email protected]918888888888tag3,tag4
warning

Sometimes you might notice that the exact number of records you imported through CSV won't show up in the users table. This could be because some of the records being imported were merged with existing records.

Identifying errors in the CSV post import#

Once you import a CSV file, you can check what happend with the records. You can see the count of new entries added, entries merged, and failed entries.

New users might not be created with all entries you upload. The following are the possible reasons:

To identify errors in the import, see user Logs. Click on User Logs > Navigate to the relevant CSV Import activity > Click Download log.

The downloaded log contains the following information:

  • Summary: Shows the count of user records that were newly added, failed to add, and were merged into the existing user details.
    • Records that were imported as new users
    • Records for which import failed (included below)
    • Records that were merged into existing users
  • BOT_ID: Bot Id for which the CSV was uploaded.
  • REQUEST_PAYLOAD: The user record for which an import was attempted but FAILED
  • ERROR_PAYLOAD: The error details due to which above user import FAILED:
    • invalidDataType: Properties for which the wrong data type was passed
    • invalidProperty: Properties that do not exist in the user table
  • LINE_NUMBER: The row number of the user record for which import FAILED