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 ModeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported
To learn more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

Once you have confirmed that the source platform supports sending events to User.com, follow these steps:

  1. From your RudderStack dashboard, add a source. Then, from the list of destinations, select User.com.
  2. 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:

User.com connection settings User.com connection settings User.com connection settings
  • Public REST API Key: Enter your public User.com REST API key.
  • App Subdomain: Enter the subdomain of your User.com app.
For more information on obtaining the public REST API key and app subdomain, refer to the FAQ section below.
  • 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

This functionality is applicable only for the 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 the externalId array, as shown:
"externalId": [{
"type": "userKey",
"id": "uehfuuiuednjk"
}],
  • You can pass the email or phone in the integrations object, as shown:
integrations: {
user: {
lookup: "email/phone"
}
});
You must pass only one of 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. If phone/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 propertyUser.com propertyPresence
userId/traits.userId/traits.id/context.traits.userId/context.traits.id/anonymousIdcustom_idRequired
traits.firstName/traits.firstname/traits.first_name/context.traits.firstName/context.traits.firstname/context.traits.first_namefirst_nameOptional
traits.lastName/traits.lastname/traits.last_name/`context.traits.lastName/context.traits.lastname/context.traits.last_namelast_nameOptional
traits.email/context.traits.email/properties.email/context.externalId.0.idemailOptional
traits.phone/context.traits.phone/properties.phonephone_numberOptional
traits.tags/context.traits.tagstagsOptional
traits.address.city/context.traits.address.citycityOptional
traits.region/context.traits.regionregionOptional
traits.country/context.traits.countrycountryOptional
traits.gender/context.traits.gendergenderOptional
traits.status/context.traits.statusstatusOptional
traits.googleUrl/context.traits.googleUrlgoogle_urlOptional
traits.linkedinUrl/context.traits.linkedinUrllinkedin_urlOptional
traits.twitterUrl/context.traits.twitterUrltwitter_urlOptional
traits.facebookUrl/context.traits.facebookUrlfacebook_urlOptional
traits.avatar/context.traits.avatar/traits.avatarURL/context.traits.avatarURL/traits.avatar_URL/context.traits.avatar_URLgravatar_urlOptional
traits.timezone/context.traits.timezonetimezoneOptional

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 propertyUser.com propertyPresence
userId/traits.userId/traits.id/context.traits.userId/context.traits.iduser_idRequired
eventnameRequired
propertiesdataOptional
originalTimestamp/timestamptimestampOptional

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 propertyUser.com property
userId/traits.userId/traits.id/context.traits.userId/context.traits.idclient_userRequired
traits.url/context.traits.urlpage_domainRequired
traits.path/context.traits.pathpage_pathRequired
originalTimestamp/timestamptimestampRequired

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 propertyUser.com property
userId/traits.userId/traits.id/context.traits.userId/context.traits.id/anonymousIdcustom_id(user)Required
groupId/traits.groupIdcustom_id(company)Optional
traits.namename(company name)Optional
traits.email/context.traits.email/properties.email/context.externalId.0.idemailOptional
traits.address/context.traits.addressaddressOptional
traits.address.city/context.traits.address.citycityOptional
traits.region/context.traits.regionregionOptional
traits.country/context.traits.countrycountryOptional
traits.descriptiondescriptionOptional
traits.phone/context.traits.phone/properties.phonephone_numbersOptional
traits.zip/traits.zipcode/traits.address.zipcode/traits.address.postalcode/context.traits.zip/context.traits.zipcode/context.traits.address.zipcode/context.traits.address.postalcodepostal_codeOptional
traits.sizesizeOptional
traits.tagstagsOptional

FAQ

Where can I find the User.com public REST API key?

To get your public REST API key, follow these steps:

  1. Log into your User.com dashboard and go to your app.
  2. Click Settings > App settings > Advanced > Public REST API keys.
  3. Click Create API key, as shown:
User.com connection settings

Where can I find the User.com app subdomain?

To get your app subdomain, follow these steps:

  1. Log into your User.com dashboard and go to your app.
  2. Click Settings > Setup & Integrations to see the app domain. The subdomain is the part of the complete domain excluding .user.com, as shown:
User.com connection settings

Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.

On this page