Hi all,
I am confused on how profile data is behaving within CJA....Whenever I bring in a trait from a profile dataset in CJA, it appears that the number of People who have a value for the attribute (e.g. Y/N for visits branch) does not change regardless of date range (7 vs. 14 vs. 60 vs. 180 days). Please see image attached.
The count of People in "No value" does increase as we change the date ranges, but the actual number of people who receive a value for the attribute does not change. I expect that the longer the date range, the more people should be captured under the attribute values but this is not the case. Logically, longer windows = more events = more People captured with this attribute, as we see an increase in No value. I understand that Profile data joins to events available but this phenomenon suggests this may not be the case? This makes me believe that...it may be counting People within the profile data itself? Which overwrites everyday so would be a static number across time....
Can anyone explain this? Please let me know!
Solved! Go to Solution.
Topics help categorize Community content and increase your ability to discover relevant content.
Views
Replies
Total Likes
In CJA, profile attributes don’t expand with the date range because they’re not event-based counts.
They come from the latest stitched profile, not from historical events.
So when you break down People by a profile field (Y / N):
The value counts stay the same → because CJA looks at each person’s current profile state.
The “No value” bucket grows with a bigger date range → because more people show up in events, but their profile didn’t have that attribute populated.
This is why the value rows (Y/N) look static across 7/14/60/180 days — you’re not counting “people who triggered events with this attribute,” you’re counting “people whose profile currently has this attribute.”
If you want the attribute to behave historically (date-range sensitive), you must store it as an event attribute, not a profile attribute.
Two options that work:
1. Add the Y/N flag into the event dataset
- Each visit/event carries the attribute
- Counts now scale with date range
- No dependence on profile stitching
2. Create a daily snapshot dataset
- Push the profile attributes as a “daily profile snapshot” event
- CJA will preserve historical values by day
- Trendable and date-range accurate
There is no native way in CJA to make profile attributes behave historically.
Only event-level data can do that.
In CJA, profile attributes don’t expand with the date range because they’re not event-based counts.
They come from the latest stitched profile, not from historical events.
So when you break down People by a profile field (Y / N):
The value counts stay the same → because CJA looks at each person’s current profile state.
The “No value” bucket grows with a bigger date range → because more people show up in events, but their profile didn’t have that attribute populated.
This is why the value rows (Y/N) look static across 7/14/60/180 days — you’re not counting “people who triggered events with this attribute,” you’re counting “people whose profile currently has this attribute.”
If you want the attribute to behave historically (date-range sensitive), you must store it as an event attribute, not a profile attribute.
Two options that work:
1. Add the Y/N flag into the event dataset
- Each visit/event carries the attribute
- Counts now scale with date range
- No dependence on profile stitching
2. Create a daily snapshot dataset
- Push the profile attributes as a “daily profile snapshot” event
- CJA will preserve historical values by day
- Trendable and date-range accurate
There is no native way in CJA to make profile attributes behave historically.
Only event-level data can do that.
Just a bit more clarification.... are you saying that...the total profiles evaluated are IDs from the Profile dataset itself? Or all profiles all time in the event data? I am a bit confused on where exactly CJA is looking at profile states from (assuming event data)
Thanks a lot
Views
Replies
Total Likes
Hey @JaniceAk
CJA is not looking at “all-time people from events” and it’s not looking only at “profiles inside the profile dataset.”
It actually works like this:
CJA looks at all people who appear in your event data for the selected date range…
and then joins each of those people to their latest profile record.
So the workflow is:
Event dataset decides which people are included (based on your date range).
Profile dataset provides the current attribute values for those people.
The join uses the identity graph, so the “latest” profile wins — not historical values.
This is why:
The number of “No value” grows when the date range grows (more people appear in events).
But Y/N stays flat (because those Y/N values come from the latest profile record, not from events).
Event data defines who is counted.
Profile data defines what their latest attribute value is.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies