{"__v":21,"_id":"5774fade260c8a0e00a989d0","api":{"auth":"required","params":[],"results":{"codes":[]},"settings":"","url":""},"body":"WebEngage is a tool that helps you focus on your product by it taking all the headache of marketing related changes. WebEngage is a communication tool for your product / marketing team to reach to right users at the right time on right device. It sits as an SDK in your websites and mobile apps. This section will walk you through WebEngage setup, core entities, their functioning and available customizations.\n\n## Setup - Integration and SDKs\n\nWebEngage provides SDKs for following platforms -\n\n- For your websites (Desktop and mobile) - [JavaScript SDK](/docs/web-sdk-integration)\n- For your Android app (Mobile and Tablet) - [Android SDK](/docs/android-sdk-integration)\n- For your iOS app (Mobile and Tablet) - [iOS SDK](/docs/ios-sdk-integration)\n\n## Account\n\nMake sure your team uses the same licenseCode for WebEngage SDK integration across different platforms (website, apps). For testing accounts, feel free to create a new account inside WebEngage dashboard for your dev/test/QA environment. Drop an email to support at webengage dot com ([support:::at:::webengage.com](mailto:support@webengage.com)), just so that we can mark this account as test account and our system stops waiting for any money to come in.\n\n\n## Model\n\nData model that SDK deals with involve following entities -\n\n\n```\n+-- config\n|   +-- license code\n|\n+-- user\n|   +-- browsing info\n|   +-- device info\n|   +-- attributes\n|   +-- behaviour\n|\n+-- event\n|   +-- event attributes\n|\n+-- notification\n|   +-- properties\n|   +-- methods\n|   +-- callbacks\n|\n+-- survey\n|   +-- properties\n|   +-- methods\n|   +-- callbacks\n|\n+-- push notification\n|   +-- callbacks\n|\n+-- feedback\n|   +-- properties\n|   +-- methods\n|   +-- callbacks\n\n\n```\n\n### User\n\nWebEngage auto-assigns an identifier to each visitor on your site. However, you can pass your application's identifier for a user who is logged in. This will help in linking user's activities across devices / browsers.\t\t\t\t\t\t\t\n\n\n#### Methods\n\n- identify - Call when a visitor login to your application. Pass your own user identifier.\n- login - Call when a visitor login to your application. Pass your own user identifier.\n- logout - Call when a signed in user logs out. Creates a new session with new auto-generated identifier.\n- setAttributes - Set custom user attributes in form of key value pair for the anonymous or the signed in user. System understands following basic user profile attributes -\n\t- email\n\t- birth_date\n\t- gender\n\t- first_name\n\t- last_name\n\t- company\n\n#### SDKs: [JavaScript](/docs/web-sdk-user#section-user-api) | [Android](/docs/android-sdk-user#section--user-tracking-) | [iOS](/docs/ios-sdk-user#section--user-tracking-)\n\n### Event\n\nAny user activity on your website or within your mobile app that you want to track should be passed as an event to WebEngage.\n\n\n#### Method\n- track - Pass event name and data in form of key value pairs. Structure of an event:\n\t- event_name : \"add to cart\"\n\t- event_attributes :\n\t\t- product_name : \"Acme running shoes III\"\n\t\t- product_category : \"Shoes\"\n\t\t- price : 89\n\t\t- currency : \"USD\"\n\n#### SDKs: [JavaScript](/docs/web-sdk-events#section-event-api) | [Android](/docs/android-sdk-events#section--event-tracking-) | [iOS](/docs/ios-sdk-events#section--event-tracking-)\n\n### Notification\n\nThis refers to the on-site/in-app notification going to be displayed on application screen.\n\n#### SDKs:  [JavaScript](/docs/web-sdk-engagement-notification) | [Android](/docs/engagement-in-app-notifications) | [iOS](/docs/ios-sdk-engagement-in-app-notifications)\n\n#### Properties\n\n| Property      |  Used for |\n| - - ----------- |:- - -----------:|\n| notificationId| Id of the notification|\n| forcedRender\t| show the notification even if it has been closed or clicked earlier |\n| skipRules\t\t| Pass through targeting rules filtering specified for this |\n\n\n#### Methods\n\n| Method        |  Used for |\n| - - ----------- |:- - -----------:|\n| render\t\t| call to show an applicable notification decided by the system or a particular notification |\n| clear\t\t\t| closes any opened notification or removes any prepared notification to be shown |\n\n#### Callbacks\n\n| Callback\t\t|  Used for |\n| - - ----------- |:- - -----------:|\n| onOpen\t\t| invoked when a notification is opened |\n| onClose\t\t| invoked when a notification is closed |\n| onClick\t\t| invoked when a notification is clicked |\n\n\n\n### Survey\n\nThis refers to the on-site survey going to be displayed on application screen.\n\n#### SDKs:  [JavaScript](/docs/web-sdk-engagement-survey)\n\n#### Properties\n\n| Property      |  Used for |\n| - - ----------- |:- - -----------:|\n| surveyId \t\t| Id of the survey|\n| forcedRender\t| show the survey even if it has been closed or answered earlier |\n| skipRules\t\t| Pass through targeting rules filtering specified for this survey|\n\n\n#### Methods\n\n| Method        |  Used for |\n| - - ----------- |:- - -----------:|\n| render\t\t| call to show an applicable survey decided by the system or a particular survey |\n| clear\t\t\t| closes any opened survey or removes any prepared survey to be shown |\n\n#### Callbacks\n\n| Callback\t\t|  Used for |\n| - - ----------- |:- - -----------:|\n| onOpen\t\t| invoked when a survey is opened |\n| onClose\t\t| invoked when a survey is closed |\n| onSubmit\t\t| invoked when a questionnaire page is answered |\n| onComplete\t| invoked when the survey's last page is shown |\n\n\n### Push Notification\n\nThis refers to the push notification entity being pushed to your mobile app.\n\n#### SDKs: [Android](/docs/android-sdk-engagement-push) | [iOS](/docs/ios-sdk-engagement-push)\n\n#### Properties\n\n| Property      |  Used for |\n| - - ----------- |:- - -----------:|\n| notificationId| Id of the notification|\n| forcedRender\t| show the notification even if it has been closed or clicked earlier |\n| skipRules\t\t| Pass through targeting rules filtering specified for this |\n\n\n#### Methods\n\n| Method        |  Used for |\n| - - ----------- |:- - -----------:|\n| render\t\t| call to show an applicable notification decided by the system or a particular notification |\n| clear\t\t\t| closes any opened notification or removes any prepared notification to be shown |\n\n#### Callbacks\n\n| Callback\t\t|  Used for |\n| - - ----------- |:- - -----------:|\n| onOpen\t\t| invoked when a notification is opened |\n| onClose\t\t| invoked when a notification is closed |\n| onClick\t\t| invoked when a notification is clicked |\n\n\n### Feedback\n\nThis refers to the feedback form being displayed on your website\n\n#### SDKs: [JavaScript](/docs/web-sdk-engagement-feedback)\n\n#### Properties\n\n| Property      |  Used for |\n| - - ----------- |:- - -----------:|\n| formData \t\t| Specify values in the feedback form for the pre-population of the fields|\n| showForm\t\t| If set to true, feedback form slides out, on page load, by default.|\n| defaultCategory\t\t| Shows the feedback form based on the feedback category specified here.|\n\n\n#### Methods\n\n| Method        |  Used for |\n| - - ----------- |:- - -----------:|\n| render\t\t| call to open the feedback form |\n\n\n#### Callbacks\n\n| Callback\t\t|  Used for |\n| - - ----------- |:- - -----------:|\n| onOpen\t\t| invoked when the feedback form is opened |\n| onClose\t\t| invoked when the feedback form is closed |\n| onSubmit\t\t| invoked when the feedback form is submitted |","category":"5774fa1f260c8a0e00a989c8","createdAt":"2016-06-30T10:56:30.504Z","excerpt":"","githubsync":"","hidden":false,"isReference":false,"link_external":false,"link_url":"","order":0,"parentDoc":null,"project":"5774fa1f260c8a0e00a989c4","slug":"overview","sync_unique":"","title":"Overview","type":"basic","updates":[],"user":"5774f9e5ece8a00e00a15941","version":"5774fa1f260c8a0e00a989c7","childrenPages":[]}
WebEngage is a tool that helps you focus on your product by it taking all the headache of marketing related changes. WebEngage is a communication tool for your product / marketing team to reach to right users at the right time on right device. It sits as an SDK in your websites and mobile apps. This section will walk you through WebEngage setup, core entities, their functioning and available customizations. ## Setup - Integration and SDKs WebEngage provides SDKs for following platforms - - For your websites (Desktop and mobile) - [JavaScript SDK](/docs/web-sdk-integration) - For your Android app (Mobile and Tablet) - [Android SDK](/docs/android-sdk-integration) - For your iOS app (Mobile and Tablet) - [iOS SDK](/docs/ios-sdk-integration) ## Account Make sure your team uses the same licenseCode for WebEngage SDK integration across different platforms (website, apps). For testing accounts, feel free to create a new account inside WebEngage dashboard for your dev/test/QA environment. Drop an email to support at webengage dot com ([support@webengage.com](mailto:support@webengage.com)), just so that we can mark this account as test account and our system stops waiting for any money to come in. ## Model Data model that SDK deals with involve following entities - ``` +-- config | +-- license code | +-- user | +-- browsing info | +-- device info | +-- attributes | +-- behaviour | +-- event | +-- event attributes | +-- notification | +-- properties | +-- methods | +-- callbacks | +-- survey | +-- properties | +-- methods | +-- callbacks | +-- push notification | +-- callbacks | +-- feedback | +-- properties | +-- methods | +-- callbacks ``` ### User WebEngage auto-assigns an identifier to each visitor on your site. However, you can pass your application's identifier for a user who is logged in. This will help in linking user's activities across devices / browsers. #### Methods - identify - Call when a visitor login to your application. Pass your own user identifier. - login - Call when a visitor login to your application. Pass your own user identifier. - logout - Call when a signed in user logs out. Creates a new session with new auto-generated identifier. - setAttributes - Set custom user attributes in form of key value pair for the anonymous or the signed in user. System understands following basic user profile attributes - - email - birth_date - gender - first_name - last_name - company #### SDKs: [JavaScript](/docs/web-sdk-user#section-user-api) | [Android](/docs/android-sdk-user#section--user-tracking-) | [iOS](/docs/ios-sdk-user#section--user-tracking-) ### Event Any user activity on your website or within your mobile app that you want to track should be passed as an event to WebEngage. #### Method - track - Pass event name and data in form of key value pairs. Structure of an event: - event_name : "add to cart" - event_attributes : - product_name : "Acme running shoes III" - product_category : "Shoes" - price : 89 - currency : "USD" #### SDKs: [JavaScript](/docs/web-sdk-events#section-event-api) | [Android](/docs/android-sdk-events#section--event-tracking-) | [iOS](/docs/ios-sdk-events#section--event-tracking-) ### Notification This refers to the on-site/in-app notification going to be displayed on application screen. #### SDKs: [JavaScript](/docs/web-sdk-engagement-notification) | [Android](/docs/engagement-in-app-notifications) | [iOS](/docs/ios-sdk-engagement-in-app-notifications) #### Properties | Property | Used for | | - - ----------- |:- - -----------:| | notificationId| Id of the notification| | forcedRender | show the notification even if it has been closed or clicked earlier | | skipRules | Pass through targeting rules filtering specified for this | #### Methods | Method | Used for | | - - ----------- |:- - -----------:| | render | call to show an applicable notification decided by the system or a particular notification | | clear | closes any opened notification or removes any prepared notification to be shown | #### Callbacks | Callback | Used for | | - - ----------- |:- - -----------:| | onOpen | invoked when a notification is opened | | onClose | invoked when a notification is closed | | onClick | invoked when a notification is clicked | ### Survey This refers to the on-site survey going to be displayed on application screen. #### SDKs: [JavaScript](/docs/web-sdk-engagement-survey) #### Properties | Property | Used for | | - - ----------- |:- - -----------:| | surveyId | Id of the survey| | forcedRender | show the survey even if it has been closed or answered earlier | | skipRules | Pass through targeting rules filtering specified for this survey| #### Methods | Method | Used for | | - - ----------- |:- - -----------:| | render | call to show an applicable survey decided by the system or a particular survey | | clear | closes any opened survey or removes any prepared survey to be shown | #### Callbacks | Callback | Used for | | - - ----------- |:- - -----------:| | onOpen | invoked when a survey is opened | | onClose | invoked when a survey is closed | | onSubmit | invoked when a questionnaire page is answered | | onComplete | invoked when the survey's last page is shown | ### Push Notification This refers to the push notification entity being pushed to your mobile app. #### SDKs: [Android](/docs/android-sdk-engagement-push) | [iOS](/docs/ios-sdk-engagement-push) #### Properties | Property | Used for | | - - ----------- |:- - -----------:| | notificationId| Id of the notification| | forcedRender | show the notification even if it has been closed or clicked earlier | | skipRules | Pass through targeting rules filtering specified for this | #### Methods | Method | Used for | | - - ----------- |:- - -----------:| | render | call to show an applicable notification decided by the system or a particular notification | | clear | closes any opened notification or removes any prepared notification to be shown | #### Callbacks | Callback | Used for | | - - ----------- |:- - -----------:| | onOpen | invoked when a notification is opened | | onClose | invoked when a notification is closed | | onClick | invoked when a notification is clicked | ### Feedback This refers to the feedback form being displayed on your website #### SDKs: [JavaScript](/docs/web-sdk-engagement-feedback) #### Properties | Property | Used for | | - - ----------- |:- - -----------:| | formData | Specify values in the feedback form for the pre-population of the fields| | showForm | If set to true, feedback form slides out, on page load, by default.| | defaultCategory | Shows the feedback form based on the feedback category specified here.| #### Methods | Method | Used for | | - - ----------- |:- - -----------:| | render | call to open the feedback form | #### Callbacks | Callback | Used for | | - - ----------- |:- - -----------:| | onOpen | invoked when the feedback form is opened | | onClose | invoked when the feedback form is closed | | onSubmit | invoked when the feedback form is submitted |