WebEngage Destination

Segment makes it easy to send your data to WebEngage (and lots of other destinations). Once you've tracked your data through our open source libraries we'll translate and route your data to WebEngage in the format they understand. Learn more about how to use WebEngage with Segment.

This integration is maintained by WebEngage Support.

Getting Started

Steps to integrate Segment with WebEngage:

  • Login to your Segment.com account and click on the relevant workspace
  • Click on the relevant source - Javascript, iOS, Android or Server
  • On the Destination tab of the relevant Source - search for WebEngage and add WebEngage as a Destination for that Source.
  • You will be required to provide the API key if you intend on sending any server side or mobile data. The API key can be found in your WebEngage dashboard on the top right under Integrations > REST API. If you don’t have a WebEngage account, you can create one here.
  • If you’d like to use the client side WebEngage integration for your web, please enter your License Code

Do note that WebEngage for Mobile supports only the Identify and Track methods.



To install the Segment-WebEngage integration, simply add this line to your CocoaPods Podfile:

pod "Segment-WebEngage"

If you are using XCode 7 use:

pod "Segment-WebEngage/Xcode7"

After adding the dependency, you must register the integration with our SDK. To do this, import the WebEngage integration in your AppDelegate:

#import <Segment-WebEngage/WEGSegmentIntegrationFactory.h>

And add the following lines to your AppDelegate’s application:didFinishLaunching:WithOptions: method

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    //Initialise Segment
    SEGAnalyticsConfiguration *configuration = [SEGAnalyticsConfiguration configurationWithWriteKey:@"XXXXXXXXXXXXXXXXXXXXXXXXXXX"];

    //Additional Segment Configuration
    configuration.trackApplicationLifecycleEvents = NO; // Enable this to record certain application events automatically!
    configuration.recordScreenViews = NO; // Enable this to record screen views automatically!

    //Register WebEngage Integration With Segment
    [configuration use:[WEGSegmentIntegrationFactory instanceWithApplication:application launchOptions:launchOptions]];

    [SEGAnalytics setupWithConfiguration:configuration];

    return YES;


This is only supported on the client side. Sending page events via server side integration is not supported.


When a user is identified, Segment will send that user’s information to WebEngage, wherein a user will be created/updated. The anonymousId must be present in case of an anonymous user and userId in case of an identified user. We will map semantic traits such as your first name, email, gender, etc and also send along any custom traits.


When you track an event, Segment will send that event and its properties to WebEngage. Each event will have the necessary data about the user (anonymousId and userId) who performed the event.


The reset call must be invoked when a user is logged out.

Supported Sources and Connection Modes

📱 Device-based
☁️ Cloud-based

To learn more about about Connection Modes and what dictates which we support, see here.


Segment lets you change these destination settings via your Segment dashboard without having to touch any code.


If you are sending data to WebEngage via Segment’s mobile or server side libraries, please enter your API Key.


Direct Channels


License Code

This is required only if you are loading WebEngage client side on your web browser. You can find your License Code in your WebEngage account.

If you have any questions or see anywhere we can improve our documentation, please let us know or kick off a conversation in the Segment Community!