User.com is a popular marketing automation platform. It provides robust tools for the marketing, sales, management, and support teams to boost their brand value, enhance customer engagement, and increase conversions.
RudderStack supports User.com as a destination where you can seamlessly send your event data.
Getting started
Before configuring User.com as a destination in RudderStack, verify if the source platform is supported by User.com by referring to the table below:
Connection Mode | Web | Mobile | Server |
---|---|---|---|
Device mode | - | - | - |
Cloud mode | Supported | Supported | Supported |
Once you have confirmed that the source platform supports sending events to User.com, follow these steps:
- From your RudderStack dashboard, add a source. Then, from the list of destinations, select User.com.
- Assign a name to the destination and click Continue.
Connection settings
To successfully configure User.com as a destination, you will need to configure the following settings:
- Public REST API Key: Enter your public User.com REST API key.
- App Subdomain: Enter the subdomain of your User.com app.
- Map Rudder user attributes to User.com attributes: With this setting, you can map the RudderStack user attributes to specific User.com user attributes.
- Map RudderStack event name to User.com event name: Use this setting to map the RudderStack event names to specific User.com events. You can map one or more RudderStack events to a single User.com event but not vice-versa.
- Map your event property: Enter the RudderStack and User.com event properties you want to map for the above-mentioned event names. You can map a RudderStack property only to one User.com property and vice-versa.
- Map Rudder company attributes to User.com company attributes: Use this setting to map the RudderStack company attributes to specific User.com company attributes.
User lookup
identify
, track
, and page
calls.RudderStack looks up a user in User.com using the user_key
, email
, or phone
properties.
- You can pass the
user_key
in theexternalId
array, as shown:
"externalId": [{ "type": "userKey", "id": "uehfuuiuednjk"}],
- You can pass the
email
orphone
in theintegrations
object, as shown:
integrations: {user: { lookup: "email/phone"}});
email
or phone
in lookup
. Also, email
or phone
(whichever is passed) must have unique values in User.com.The precedence order for looking up a user based on the above properties is:
- The
userKey
is given the highest priority. - The
lookup
value is given the second highest priority. Ifphone
/email
(whichever is passed) is not found, RudderStack will throw an error. - If none of the above is present, RudderStack falls back to the
userId
. If not found, RudderStack will throw an error.
Identify
You can use the identify
call to create a new user in User.com. If the user already exists, RudderStack updates the user details.
A sample identify
call is shown below:
rudderanalytics.identify('1hKOmRA4el9Zt1WSfVJIVo4GRlm', { firstName: 'Alex', lastName: 'Keener', email: "alex@example.com" }, { externalId: [{ type: "userKey", id: "Df344sdFgdDsS4" }], integrations: { user: { lookup: "email" } } );
Property mapping
The following table lists the mappings between RudderStack and User.com properties for identify
call:
RudderStack property | User.com property | Presence |
---|---|---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id /anonymousId | custom_id | Required |
traits.firstName /traits.firstname /traits.first_name /context.traits.firstName /context.traits.firstname /context.traits.first_name | first_name | Optional |
traits.lastName /traits.lastname /traits.last_name /`context.traits.lastName /context.traits.lastname /context.traits.last_name | last_name | Optional |
traits.email /context.traits.email /properties.email /context.externalId.0.id | email | Optional |
traits.phone /context.traits.phone /properties.phone | phone_number | Optional |
traits.tags /context.traits.tags | tags | Optional |
traits.address.city /context.traits.address.city | city | Optional |
traits.region /context.traits.region | region | Optional |
traits.country /context.traits.country | country | Optional |
traits.gender /context.traits.gender | gender | Optional |
traits.status /context.traits.status | status | Optional |
traits.googleUrl /context.traits.googleUrl | google_url | Optional |
traits.linkedinUrl /context.traits.linkedinUrl | linkedin_url | Optional |
traits.twitterUrl /context.traits.twitterUrl | twitter_url | Optional |
traits.facebookUrl /context.traits.facebookUrl | facebook_url | Optional |
traits.avatar /context.traits.avatar /traits.avatarURL /context.traits.avatarURL /traits.avatar_URL /context.traits.avatar_URL | gravatar_url | Optional |
traits.timezone /context.traits.timezone | timezone | Optional |
Track
You can use the track
call to record a new event which, in turn, can be used to filter and bucket users in User.com.
A sample track
call is shown below:
rudderanalytics.track('Add to cart', { purchased_item: "T-Shirt", brand: "Zara", email: "alex@example.com"}, { integrations: { user: { lookup: "email" } }););
Property mapping
The following table lists the mappings between RudderStack and User.com properties for the track
call:
RudderStack property | User.com property | Presence |
---|---|---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id | user_id | Required |
event | name | Required |
properties | data | Optional |
originalTimestamp /timestamp | timestamp | Optional |
Page
The page
call lets you record your website's page views with any additional relevant information about the viewed page.
A sample page
call is shown below:
rudderanalytics.page("section-name", { path: "path", url: "url", title: "title", search: "search", referrer: "referrer", phone: "1-202-555-0146", }, { integrations: { user: { lookup: "phone" } });
Property mapping
The following table lists the mappings between RudderStack and User.com properties for page
call:
RudderStack property | User.com property | |
---|---|---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id | client_user | Required |
traits.url /context.traits.url | page_domain | Required |
traits.path /context.traits.path | page_path | Required |
originalTimestamp /timestamp | timestamp | Required |
Group
You can use the group
call to create or update a company profile and associate a user with it.
A sample group
call is shown below:
rudderanalytics.group( "group01", { name: "Alex Keener", phone: "1-202-555-0146", size: 51, zipcode: 90009, street: "6649 N Blue Gum Street", city: "New Orleans", region: "Louisiana", country: "USA" },);
Property mapping
The following table lists the mappings between RudderStack and User.com properties for the group
call:
RudderStack property | User.com property | |
---|---|---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id /anonymousId | custom_id (user) | Required |
groupId /traits.groupId | custom_id (company) | Optional |
traits.name | name (company name) | Optional |
traits.email /context.traits.email /properties.email /context.externalId.0.id | email | Optional |
traits.address /context.traits.address | address | Optional |
traits.address.city /context.traits.address.city | city | Optional |
traits.region /context.traits.region | region | Optional |
traits.country /context.traits.country | country | Optional |
traits.description | description | Optional |
traits.phone /context.traits.phone /properties.phone | phone_numbers | Optional |
traits.zip /traits.zipcode /traits.address.zipcode /traits.address.postalcode /context.traits.zip /context.traits.zipcode /context.traits.address.zipcode /context.traits.address.postalcode | postal_code | Optional |
traits.size | size | Optional |
traits.tags | tags | Optional |
FAQ
Where can I find the User.com public REST API key?
To get your public REST API key, follow these steps:
- Log into your User.com dashboard and go to your app.
- Click Settings > App settings > Advanced > Public REST API keys.
- Click Create API key, as shown:
Where can I find the User.com app subdomain?
To get your app subdomain, follow these steps:
- Log into your User.com dashboard and go to your app.
- Click Settings > Setup & Integrations to see the app domain. The subdomain is the part of the complete domain excluding
.user.com
, as shown:
Contact us
For more information on the topics covered on this page, email us or start a conversation in our Slack community.