Attributes

An attribute is a fact about a player: the plan they are on, the city they live in, whether they have verified their email, the date they signed up.

Each new value replaces the one before it. Somebody moves from free to premium and their plan is premium, with no history to read. That is the difference from an event, which is something they did and stays on their record.

What they are for

Aiming things at the right people. A mission, a streak or an offer can go to everyone, or only to the players who match what is true about them: customers whose plan has lapsed, players in one city, anybody who has verified their email.

So attributes are how a rule knows who somebody is, and events are how it knows what they have done. See Rules.

What one holds

One of four kinds of value, chosen when you define the attribute and fixed afterwards:

TextA plan, a city, a tier.
NumberAn age, a lifetime value, a seat count.
BooleanWhether something is true of them.
Date & timeWhen something happened to them, such as the day they signed up.

Sending the wrong kind is refused rather than converted, so a plan that holds text keeps premium and never the number 3.

You keep them up to date

An attribute changes when your product says it changed, so send the new value at the moment of the upgrade, the move, or the confirmed email. Sending the same value again changes nothing, and a value older than the one already stored is ignored, so a sync arriving out of order cannot roll a player back.

On this page