June cloud mode
Send events to June using RudderStack cloud mode.
RudderStack lets you send your event data to June via cloud mode.
Identify
You can use the identify
call to create a new user or update an existing user’s details in June. RudderStack sends the identify
call to June using their identify
API.

Make sure that you make an identify
call before making a track
or group
call.
A sample identify
call is shown below:
rudderanalytics.identify("1hKOmRA4el9Z", {
name: "Alex Keener",
email: "alex@example.com"
})
Property mappings
The following table lists the property mappings between RudderStack and June for the identify
call:
RudderStack property | June property | Data type | Presence |
---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id | userId | String | Required |
originalTimestamp /timestamp | timestamp | DateTime (ISO 8601 date format yyyy-MM-ddTHH:mm:ss.SSSZ ) | Required |
traits /context.traits | traits | Object | Optional |
Track
The track
call lets you capture user events along with the properties associated with them. RudderStack sends the track
call to June using their track
API.
A sample track
call is shown below:
// groupId using properties object
rudderanalytics.track("Product Reviewed", {
review_id: "12345",
product_id: "123",
rating: 3.0,
review_body: "Average product, expected much more.",
groupId: "5H7ASAIEQO",
});
// groupId using context.externalId array
rudderanalytics.track(
"Product Reviewed", {
review_id: "12345",
product_id: "123",
rating: 3.0,
review_body: "Average product, expected much more.",
}, {
externalId: [{
type: "juneGroupId",
id: "5H7ASAIEQO",
}, ],
}
);
Property mappings
The following table lists the property mappings between RudderStack and June for the track
call:
RudderStack property | June property | Data type | Presence |
---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id | userId | String | Required |
event | event | String | Required |
originalTimestamp /timestamp | timestamp | DateTime (ISO 8601 date format yyyy-MM-ddTHH:mm:ss.SSSZ) | Required |
properties | properties | Object | Optional |
- If
context.externalId.id (when context.externalId.type = juneGroupId ) is present. - Otherwise,
properties.groupId .
| context.groupId | String | Optional |
Group
You can use the group
call to create a new company or update an existing company’s details in June. Refer to the June documentation for more information.

If you are using a
group
call to identify a company, it is recommended to pass the
groupId
in the
track
call. It allows you to specify which company performed that specific event. For more information, refer to the
June documentation.
A sample group
call is shown below:
rudderanalytics.group("23Np893Z6", {
name: "ABC company",
employees: 100,
Industry: "Video game publisher",
Founded: 1979
});
Property mappings
The following table lists the property mappings between RudderStack and June for the group
call:
RudderStack property | June property | Data type | Presence |
---|
userId /traits.userId /traits.id /context.traits.userId /context.traits.id | userId | String | - Required for creating a company.
- Optional for updating the company details.
|
originalTimestamp /timestamp | timestamp | DateTime (ISO 8601 date format yyyy-MM-ddTHH:mm:ss.SSSZ) | Required |
groupId /traits.groupId | groupId | String | Required |
traits /context.traits | traits | Object | Optional |
FAQ
Can I make an identify
or track
call using anonymousId
?
No, you can’t. June does not stitch identities together or support merging anonymous users. Rather, it is best used to measure user activation and retention when the user is logged in.
My user is created as Unknown
in June dashboard. What might be the reason?
June categorizes a user as Unknown
if the firstName
, lastName
, name
, username
, or email
is not present in the traits
object of the identify
call.
Questions? Contact us by email or on
Slack