Skip to main content

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 Completed split by plan.
  • Filters in funnels and trends — for example, only steps where amount is greater than 1000.
  • Segment conditions — for example, "performed Order Completed with plan = 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:

QuestionUse
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 by source).
  • 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.

caution

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