Send your event data from RudderStack to Appcues.

Appcues is a popular product marketing platform that helps you deliver scalable user experiences and accelerate business growth.

RudderStack supports Appcues as a destination to which you can send your event data.

Find the open source transformer code for this destination in the GitHub repository.

Getting started

RudderStack supports sending event data to Appcues via the following connection modes:

Connection ModeWebMobileServer
Device modeSupported--
Cloud modeSupportedSupportedSupported

In a web device mode integration, that is, using JavaScript SDK as a source, RudderStack loads the Appcues native SDK from the domain.

Based on your website’s content security policy, you might need to allowlist this domain to load the Appcues SDK successfully.

Once you have confirmed that the platform supports sending events to Appcues, follow these steps:

  1. From your RudderStack dashboard, add the source. Then, from the list of destinations, select Appcues.
  2. Assign a name to the destination and click Continue.

Connection settings

To successfully set up Appcues as a destination, you will need to configure the following settings:

  • Account ID: Enter your Appcues account ID. To get the ID, log in to your Appcues account and navigate to Settings > Account.
  • Client-side Events Filtering: This setting lets you specify which events should be blocked or allowed to flow through to Appcues. See Client-side Events Filtering for more information.
  • OneTrust Cookie Categories: This setting lets you associate the OneTrust cookie consent groups to Appcues.

Web SDK settings

  • Appcues JavaScript Native SDK URL: Enter the URL for hosting the native Appcues JavaScript SDK. If not specified, RudderStack sets it to${<your_account_id>}.js by default.
  • Use device mode to send events: Turn on this setting to enable sending events to Appcues in device mode.


You can use the identify call to uniquely identify a user in Appcues.


Note that:

  • You must make an identify call before making any other call to Appcues.
  • RudderStack flattens any objects/array properties in the identify call before sending it to Appcues by leveraging their Appcues.identify(userId,[properties]) call.

A sample identify call looks like the following snippet:

rudderanalytics.identify("userId", {
  name: "John Doe",
  title: "CEO",
  email: "",
  company: "Company123",
  country: "US",
  state: "TX",


Use the track call to track custom events as they occur in your application.

A sample track call looks like the following:

rudderanalytics.track("Clicked button", {
  color: "red",
  buttonText: "Get started",

RudderStack sends the track call information to Appcues using its Appcues.track(eventName, [eventProperties]) call.


A page call contains information such as the URL or the name of the web page visited by the user.

A sample page call looks like the following:"homepage")

Note that:

  • In device mode, RudderStack passes the page call information to Appcues using its call along with any additional properties passed to it. Appcues checks to see if a user qualifies for an experience every time the page changes. When you first make the page call, Appcues checks if there are any current flows associated with the given user and loads them, if necessary.
  • In cloud mode, RudderStack sends the above page call as a track event with the name as Visited a Page along with any associated properties. It also updates the properties associated with the user profile like user ID, user agent, current page URL, browser langugage, current page title, etc.


The screen call is available only in the cloud mode.

The screen method allows you to record whenever a user sees the mobile screen along with any associated optional properties.

A sample screen call looks like the following code snippet:

[[RSClient sharedInstance] screen:@"Main" properties:@{@"prop_key" : @"prop_value"}];

In the above snippet, RudderStack captures screen-related like the screen name and category.

RudderStack sends the above call is sent as a track event with the name Viewed a Screen, along with any additional properties passed to it.


How do I get the Appcues Account ID?

You can find the Appcues Account ID in the Appcues Settings Page.

Questions? Contact us by email or on Slack