Targeting by User Property
In addition to page and domain targeting, you can target users based on their properties. This is one of the most powerful features of Appcues that gives you the ability to choose what users see which content. With user property targeting, you can pick and choose which users see certain messages based on specific traits that you send in to Appcues, like role, plan type, company, or other properties you send in to Appcues.
Creating Your Criteria
The filtering UI is based on three inputs:
- The property you want to target.
- The match value that you'll match against.
- The comparator you'd like to use to check each user.
- A user value that your comparator will use in its check.
Choosing a Property
You can narrow down what type of property you're looking to target under the first dropdown in "Who should see this flow?"
Once you've chosen the property you want to, you may notice a placeholder in the user value field. This placeholder is the last value we received for your property. For example, if you chose "Email" as the property, you might see "firstname.lastname@example.org" as a suggested value. That's to help you figure out what to expect as a proper value (e.g. a number, an email address, true/false, etc).
Note that you must enter values as case-sensitive and must be entered exactly as you send them in. Flows will not show otherwise, like in the instance of targeting "trial" for a user whose plan is "_Trial".
Here are the properties you can choose from:
- Flow: refers to your other Appcues flows, so you can target flows based on what other flows your users have or have not seen
- Event: refers to events that happen within your platform that you send into Appcues. Learn more about how to set up and use event targeting here.
- Language: refers to the end-user's browser language -- while Appcues does not provide translation services or automatically translate your content, you can create multiple versions of flows based on language and target them to the appropriate audience. Learn more about language targeting here.
- Property: refers to auto-properties, device properties, or custom properties you've sent in to Appcues. Within the Properties option there are Auto, Device, and Your Property options. Lets dive into each of these in further detail:
Most properties that you'll be targeting by are "your properties", as in they're properties that are specific to your users and they're sent to Appcues by you. If you've installed Appcues manually, these user properties are passed to us through the Appcues.identify() call. Or, if you've installed Appcues via Segment, those properties are passed to Appcues through Segment's analytics.identify() call.
Even before you've installed the Appcues SDK and have begun sending your user properties to Appcues, you'll notice there a list of "device properties" in your account. While we won't be able to push content to your site before you've installed the SDK, you can start building content and targeting users with these properties. These are composed of properties that Appcues is able to extract about the current user's environment and automatically includes in every Appcues.identify() call, thus allowing you to target certain users based on this data. Device properties are automatically sent to Appcues by the end user's browser; here's a list of the device properties with descriptions of each:
- Device type
- This property indicates the device your users are viewing your platform on. You can target flows to users on desktop or mobile (which includes tablets) by selecting a specific device.
- Operating system
- This property refers to the operating system your users are viewing your platform on. You can target flows to users on Mac, Windows, iOS, Android, other. This is especially helpful if you need to send updates or alerts to download system-specific add-ons, like an iOS or Android app.
- This property is the browser your users are viewing your platform in. Appcues works on all modern browsers (including IE 10+), but if your platform requires browser updates or upgrades you can target messages to users based on the browser they are in.
Similar to "device properties", you'll see "auto-properties" listed in your account before installing the Appcues SDK. Again, we cannot push content to your site until you've installed the SDK but you can start building content and targeting users with these properties. Auto-properties are based off the current user's environment and are included in every Appcues.identify() call. Here's a list of the auto-properties with descriptions of each:
- Is Anonymous
If a user is identified as an anonymous (non-logged in) user (see
here for more details), this property will be
true. Otherwise this value will not be present. So to target non-anonymous users you would use the
- Last Page Title
This property indicates the title of this user's most recently visited page. This is the same title that appears in a browser tab for the page. For example, on this page the title property would be
Targeting Properties - Appcues.
- Last Page URL
This property is the URL of the user's most recently visited page. For example, the value of this property would be
https://my.appcues.com/accountif you had been on your Appcues account page before visiting this page. This property is useful for targeting a user once they've left a certain page; a nice use case might be showing a flow after a user has left your billing page for some other page on the site.
- Session Pageviews
This property tracks how many total pages on your site a user has visited. The count is reset if the user closes the browser or tab. This is intended to represent how many pages a user has viewed in a particular "visit". For example, if I were a new incoming user and visited the following pages: /home, then /features, then /pricing, then /features, then /about - the
Session Pageviews property would be equal to
5. If I closed the window, returned to the site later on and visited /pricing, that value would be
- This property indicates the domain your users are viewing your page on. If hostnames look different across your customer accounts, you could target them either through Hostname targeting or URL targeting.
- Session Randomizer
- The session randomizer allows you to target a random percentage of user sessions. To use it, set the comparator "less than" and then input a number from 1-100, which will be the percentage of sessions you'd like to sample. A session occurs every time a user goes to your site in a new browser window or tab. The best time to use this property is when you're soliciting responses from your users, but want to spread the responses over a period of time instead of receiving them all at once.
Choosing a Comparator
There are several different comparators you can choose from:
- Equals — "name equals Jane" matches only people named Jane.
- Doesn't equal — "name doesn't equal Jane" matches anyone not named Jane.
Note: if you would like to include or exclude more than one value here, you must use the list membership options (is one of or isn't one of)
- Is greater than — "days_since_signup is greater than 7" matches users who signed up over a week ago.
- Is less than — "days_since_signup is less than 30" matches users who've signed up within the past 30 days.
- Contains — "email contains @gmail.com" matches users with a Gmail email address.
- Doesn't contain — "email doesn't contain @outlook.com, @yahoo.com" matches any user who does not have an Outlook or a Yahoo email address.
- Starts with — "created_at starts with 2016" matches users with a created_at date of "2016-5-4" but not "2015-3-7".
- Doesn't start with — "created_at doesn't start with 2016" matches users with a created_at date of "2015-5-4" but not "2016-3-7".
- Ends with — "email ends with .io" matches users with an email address registered to the British Indian Ocean.
- Doesn't ends with — "email doesn't end with .io" matches users with an email address with addresses that aren't registered to the British Indian Ocean
Checking for existence is good when the properties you send to Appcues vary for each user or type of user. For instance, you may have "freemium" and "enterprise" users, and only enterprise users have an account rep, which you're passing to Appcues as a user property.
- Exists — "account_rep_name exists" matches users whose account rep's name is being passed to Appcues.
- Doesn't exist — "plan_type doesn't exist" matches users who are not passing a plan type to Appcues.
- Is one of — "name is one of Jonathan, Jackson, John" matches people named "Jonathan" but not "Jane."
- Isn't one of — "plan_type isn't one of Enterprise, Premium" matches users who are on a plan other than Enterprise or Premium.
A Note on "And", "Or" and "Not"
And, or and not operators can be a great way to create more targeted segments. However, when designing complex targeting rules, it can be difficult to determine whether the rules will target the right users. A good way to verify that your targeting rules are working as expected is to create your rules as a segment. When you save the segment, you can see a preview of the users who will be targeted. Check out the Segments Overview for more details on creating and using segments.