Page Targeting
Learn more about page targeting and how to ensure your experiences will show up on the correct URLs.
Table of Contents
Page targeting is used to determine where experiences should appear. When a user lands on a particular URL, Appcues makes a check to see what particular content that user is eligible to see on that particular page. If the URL matches the conditions in a flow or checklist’s page targeting, it means that content can be triggered on that page.
Page targeting defines what pages (URLs) in your app the flow will be triggered on, as well as which environments (domains) the flow will display in (normally used for production, staging, etc.).
For a more general rundown of flow targeting and settings, check out our Targeting Flows documentation.
It’s important to note that a flow’s build URL is different from the flow’s page targeting. The build URL in a flow is a single, specific URL so the Appcues builder knows on which page to open the flow for editing. This has no bearing on where the flow will actually show when published.
Which page should we show this content on?
When deciding which page to show content on, there are two options to choose from:
1. Any page
This is the most straightforward option. Selecting this option will make a flow appear on any page of a qualified domain as long as Appcues is installed on that page and there is no other Appcues content that takes precedence.
2. At a specific path
A path is anything after the ".com" (or ".net"/".xyz"/etc.) in the URL. In the below example, the path is /article/86-target-url.
When setting a specific path, there are several options to choose from.
-
Starts with/doesn’t start with
If the path starts or doesn’t start with a particular string, a user will qualify for it
With this condition, a flow would show on a path like /home/user/12345/settings but not /dashboard/user/12345/settings. The opposite would be true if it's set to doesn't start with. -
Ends with/doesn’t end with
If the path ends or doesn’t end with a particular string, a user will qualify for it.
With this condition, a flow would show on a path like /home/user/12345/settings, as well as /dashboard/user/12345/settings, but not /home /user/12345/profile. The opposite would be true if it's set to doesn't end with. -
Contains/doesn’t contain
Shows/doesn't show a flow on any path that includes a given value.
With this condition, a flow would show on a path like /home/user/12345 or /home/search/users/all but not on /home or /dashboard/settings. The opposite would be true if it's set to doesn't contain. -
Equals/doesn’t equal
A flow will only show if the path exactly matches/doesn't match the value of this condition.
With this condition, a flow would show only if the path is exactly /home/user. It wouldn't show at /home or /home/user/12345. The opposite would be true if it's set to doesn't equal.
If you want to show a flow on a homepage (a URL that doesn't have a path, for instance: appcues.com/), you can simply use /. -
Matches regex
Regex stands for regular expression and is a sequence of characters that specifies a search pattern. If you'd like to create a wildcard pattern to dynamically match certain parts of URLs, this is a good choice.
With this condition, a flow would show on any path that begins with /home/user/ and ends with /settings, with some other combination of characters between the two. /home/user/12345/settings would match, as would /home/user/profile/username/settings. /home/user/settings, however, would not match.
The .+ works as a wildcard in much the same way as the * does when building flows. Check out our regex help doc for some common regex patterns.
Read about some of our best practices on where you should be using regex vs wildcards!
You can add multiple conditions to a flow, and make it so the path must match all of them or simply one of them.
With these two conditions, the flow will show on any path that both starts with /home and contains profile. For example, it would show on /home/user/12345/profile/settings, but not on /home/user/12345.
If it's changed to Any instead of All, the path only needs to match one of the conditions for the flow to show, although it will still show if all conditions match. For example, with the above settings, the flow would show at /home/user/12345, /dashboard/user/profile, and /home/user/12345/profile/settings.
Note: this section of page targeting defines which pages a flow is eligible to be triggered. However, once a flow begins showing, it can be used to guide users across other pages not explicitly listed in the flow's page targeting. Check out our doc for how to build flows across pages.
Dynamic URLs
Many applications include account- or user-specific information in the URL. Examples are account ID, user ID, the ID for that folder, etc. Dynamic URLs tend to have a base structure but include a string of letters, numbers, and occasionally characters that can change frequently.
For example, http://yourapp.com/dashboard/23944-3 is a dynamic URL. Dynamic URLs normally look identical except for that unique identifying information.
Steps for setting up dynamic URL
- Create your flow. The initial URL will be one instance of your dynamic URL (for example, http://yourapp.com/dashboard/23944-3)
- Set up your path: In the page targeting for your flow, set up the path to expect the stable part (the word "dashboard") and be flexible about the unique part (the unique identifier, in this case "23944-3").
In some cases, you may need something more advanced, like using a Regex.
Let's say your URLs include both the account and user identifier, like https://yourapp.com/dashboard/23944-3/user/123456. Use a regex to match.
For more about using regex, refer to this doc.
On which environments?
This section determines on which domains your flow will be eligible to show. As with the path settings, there are two options available.
1. Everywhere my Appcues embed script is installed
This choice will make a flow eligible to be shown on any domain where your Appcues account has been installed. For more on what installation entails, check out our Installation Overview.
2. Only the domains I choose
This options allows you to only show flows on certain domains. For example, if you wanted to publish a flow only to your test environment and not to your live environment, you could do that here.
In this example, this flow would only show on dev.myrealapp.com or on user1.myrealapp.com.
A couple things to note here:
- The domains listed are those domains you’ve added onto your account in your account settings. For how to manage your domains, check out our documentation here. Selecting the everywhere my Appcues embed script is installed option will still show the flow on domains where your Appcues account is installed, even if it does not explicitly appear on your list of domains.
- The green dot for detecting installation, while a quick, handy check, is not 100% foolproof. For the purpose of this section, Appcues is considered as installed on a domain if there have been page_view events from that domain within the past year or so. This means it's possible to have a false positive, as well as a false negative. For example, if Appcues was installed on a domain 6 months ago but is not anymore, it would still show as installed in the page targeting section.
For this reason, if you’re ever unsure about whether or not Appcues is actually installed on a domain, we always recommend testing with the Appcues debugger. - Even if a domain shows up as gray, you can still set a flow to be shown on that domain. As long as the Appcues script has been installed, the flow can show there.
Test Page Targeting
This section is useful to test the targeting conditions you’ve created. Clicking the purple Test Page Targeting button will expand this section. Simply paste in a sample URL, and it will tell you whether or not it matches the page and domain conditions you set above.
And that's pretty much all there is to it! If you still have any questions about page targeting, feel free to reach out to support@appcues.com.