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.
Example:
Appcues.identify("1234", { name: "Jonathan", createdAt: 578721600000, company: "Appcues" });
anonymous
Generates a session-based unique ID for the current user.
Example:
Appcues.anonymous();
page
Notifies the SDK that the state of the application has changed.
Example:
Appcues.page();
track (eventName, [eventProperties])
Tracks a custom event (by name) taken by the current user, along with any properties about that event.
Example:
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.
Example:
Appcues.show("-ABCD123");
clearShow ()
Stops force showing any checklists shown using Appcues.show
.
Example:
Appcues.clearShow();
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.
Example:
Appcues.off("flow_started");
once (eventName, callbackFn, [context])
Fire the callback function once the next time the given event is triggered by the SDK.
Example:
Appcues.once("flow_started", function() { console.log("Appcues started a flow."); });
reset
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.
Example:
Appcues.reset();
debug (enable = true)
Puts the SDK in debug mode, showing more information about the SDK's inner workings.
Example:
Appcues.debug();