Javascript API (Developer)

The Appcues Javascript SDK officially supports the following methods as part of it's API:

identify (userId, [properties])

Identifies the current user with an ID and an optional set of properties.


Appcues.identify("1234", {
    name: "Jonathan",
    createdAt: 578721600000,
    company: "Appcues"


Generates a session-based unique ID for the current user.




Notifies the SDK that the state of the application has changed.


track (eventName, [eventProperties])

Tracks a custom event (by name) taken by the current user, along with any properties about that event.


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

show (contentId)

Forces a specific Appcues flow or checklist to appear for the current user. This method ignores any targeting that is set on the flow or checklist. A checklist that has been will take precedent over any other checklists.  The checklist will show even if it was previously dismissed.


clearShow ()

Stops force showing any checklists shown using



on (eventName, callbackFn, [context])

Fire the callback function when the given event is triggered by the SDK. The events triggered by the SDK are:

  • flow_started — a flow is first started
  • flow_completed — a flow is completed
  • flow_skipped — a flow is skipped
  • step_interacted — a user interacts with a step in the flow, like clicking the "Next" button
  • form_submitted — a form is submitted
  • form_field_submitted — triggered for each individual field in the submitted form
  • all — listen for all events emitted by the SDK

If eventName is all, callbackFn should be a function(eventName, event).  For all other values of eventName, callbackFn should be a function(event).  The event will be an object that looks something like:

{"id":"step_attempted","name":"Step Attempted","flowId":"-L75x7dkvlvGcgIbMPSI","flowName":"Dropdown test","flowType":"journey","flowVersion":1522433413154,"timestamp":1555451877992,"sessionId":1555451877688,"stepId":"-L75xBtqpP8W4QUualko","stepType":"modal"}

Usage example:

Appcues.on("flow_started", function(event) {
    console.log("Appcues started a flow with ID " + event.flowId);

off (eventName, callbackFn, [context])

Undoes a corresponding on call.


once (eventName, callbackFn, [context])

Fire the callback function once the next time the given event is triggered by the SDK.


Appcues.once("flow_started", function() {
    console.log("Appcues started a flow.");


Clears all known information about the current user in this session. This call will clear the flow in progress and wipe any data we generate for a user. This is useful when your user logs out of your application. 

Note: When used in conjunction with the Anonymous call this can cause flows to show twice, since it would wipe the generated ID for that anon guest. 



debug (enable = true)

Puts the SDK in debug mode, showing more information about the SDK's inner workings.