• Glossary
  • Glossary

    Some of the SnapEngage terminology may take some explanation and getting used to! Here are some definitions of the terminology we use within the different APIs.

    Advanced Code Snippet

    Early in 2014, we removed the basic/advanced versions of the code. All customers now have the “Advanced” code snippet by default. If your code snippet does not look like the ones pictured below, you may want to re-install your SnapEngage code.

    For most of our users, the “Basic” version of the SnapEngage Code Snippet will suffice.

    But for advanced users and Web Developers, the “Advanced” version of the Code Snippet is designed to provide much more flexibility. It provides a framework for hand-coding customizations to your Live Chat, using SnapEngage’s JavaScript API.

    Since our code loads asynchronously, you need to use the Advanced Code Snippet so that your calls to SnapEngage’s Javascript API do not occur before those functions are available.

    So here’s where to get it

    First, log into your trusty Admin Dashboard, and navigate to the “Get the Code” tab.

    Then just open up the “Advanced” section by clicking on the word.

    That’s it. You now have access to the Advanced code snippet, use this power wisely.


    Agent: The person logged into the SnapEngage Chat Portal; the person who chats with the Visitors and (hopefully) provides great customer service for said Visitors.

    Do I need an API Key?

    The term “API” can be confusing, so all this talk of an “API Key” can be equally confusing.

    The short answer is: 99% of our clients will not need an API Key.

    Some common points of confusion:

    What is an API Key and what would I need it for?

    An API Key provides access to our:


    Way way back, in the before times–- in the long, long ago–- SnapEngage went by a different name. It was a simpler time, but a darker time. That which you have come to know as SnapEngage was a mere glimmer of its current, shining self. The promise of greatness was there, to be sure, but it was... a larval state, if you will.

    SnapABug evolved into SnapEngage.

    We have updated the vast majority of our documentation to replace "SnapABug" with "SnapEngage". But, alas, in some of the help articles you come across, you may find a function call hooked onto SnapABug.functionName(); rather than SnapEngage.functionName(); — “SnapABug” is still supported for legacy purposes, and the two can technically be used interchangeably, but all documentation henceforth will use the newer, better, faster, stronger, “SnapEngage.”

    We highly recommend and request you do the same.


    There are many words you might use for the people who visit your website: client, user, Jeff, customer, etc. Since things like documentation can get confusing without a common lexicon, please make a note of this definition:

    Visitor: The person who is viewing your website, and may or may not be chatting with one of your Agents.

    Widget ID

    SnapEngage lets you define multiple instances of your chat with different settings depending on the context in which each will be used. Only one Widget can be active on a page at any given time; the active Widget can be manipulated with the .setWidgetId() function.

    For example, you might have one Widget for your Support staff, and another Widget for your Sales Team; you might make one Widget for English speakers, and another for Spanish speakers.

    What is my Widget ID?

    Each of these instances is given its own Widget ID, a unique string of alphanumeric characters. You can see the Widget ID of each of your widgets by first logging in to your Admin Dashboard then click on Settings > Get the Code and scroll down to (Advanced) Widget ID.

    // Calling the above will return the widget ID currently active on the website

    To get the widget ID using the JavaScript API, you can call SnapEngage.getWidgetId() as shown to the right.

    See the .getWidgetId() documentation.

    // You can set a different widget ID if you'd like:

    To set a different widget ID, you can use the setWidgetID() JavaScript API, as shown to the right.

    See the .setWidgetId() documentation.