Properties
Properties are the details attached to your data. JourneyLayer has two kinds, and the difference matters for how you analyze and target users:
- Event properties describe a single occurrence of an event.
- User properties (profile traits) describe the person.
Event properties
Event properties are arbitrary JSON you send along with an event. They capture the specifics of that action — what was bought, which plan, how much.
journeylayer.track("Order Completed", {
plan: "pro",
amount: 4999,
currency: "USD",
items: 3,
});
Here plan, amount, currency, and items are event properties. They belong
to this one Order Completed event and say nothing about the user's other
activity.
Event properties power:
- Breakdowns in analytics — for example,
Order Completedsplit byplan. - Filters in funnels and trends — for example, only steps where
amountis greater than1000. - Segment conditions — for example, "performed
Order Completedwithplan = pro." See Segments overview.
User properties (profile traits)
User properties — also called traits — describe the person, not a single
event. They are set with identify() and persist on the profile across all of
that user's activity.
journeylayer.identify({
name: "Ada Lovelace",
phone: "+15551234567",
city: "London",
});
Common traits include email, name, phone, city, plan, signup date, and
lifecycle stage. Because they live on the profile, you can segment on them
directly ("all users where city = London") without referencing any specific
event. To learn how traits relate to identity, see
Profiles & identity.
Event property or user property?
A quick rule of thumb:
| Question | Use |
|---|---|
| Does it describe one action that just happened? | Event property |
| Does it describe the person over time? | User property (trait) |
For example, the amount of a single order is an event property; the user's
total lifetime spend is a user property you maintain via identify().
How properties are used
Properties are what turn raw events into answerable questions. Across JourneyLayer you will use them to:
- Break down metrics (revenue by
plan, signups bysource). - Filter funnels and trends to a meaningful slice.
- Build segments that combine traits and event-property conditions, then use those segments in Analytics and messaging.
When you send a new property, JourneyLayer records it against the event (or the profile) so it shows up automatically in the event catalog and the relevant builders.
Tips
A little discipline up front keeps your data clean and your reports trustworthy.
Keep types consistent
Always send the same property with the same type. If amount is a number on
some events and a string ("4999") on others, breakdowns and numeric filters
become unreliable. Pick a type per property and stick to it.
Use clear, stable property names
As with event names, consistency beats cleverness. Prefer short, descriptive
keys (plan, source, amount) and reuse them across events so the same
filter works everywhere.
Do not put PII in URLs
When tracking page views, avoid placing personal data — email, phone, names, or
other identifiers — in the page URL or path. URLs are easily logged and shared.
Send identity through identify() traits instead, where it is handled as
profile data.
Anything you put in a tracked URL can end up in analytics breakdowns and shared links. Keep emails and other identifiers out of URLs.
Useful properties to consider
A few properties tend to pay off across many products:
- Revenue and currency on purchase events (
amount,currency) for revenue reporting. - Source / channel on signup and key conversion events (
source,campaign) to compare acquisition. - Plan or tier on upgrade and feature events to break down by customer value.
- Quantity or count (
items,seats) where it helps you measure scale.
Next steps
- See where properties come from in Events.
- Use properties to build audiences in Segments overview.
- Explore breakdowns in Analytics overview.