{"_id":"55f7de1660cc850d008a7a22","parentDoc":null,"version":{"_id":"55781fe25129590d003ff4f7","project":"54aa7f773b56130b0056c86e","forked_from":"54aa7f773b56130b0056c871","__v":6,"createdAt":"2015-06-10T11:30:42.700Z","releaseDate":"2015-06-10T11:30:42.700Z","categories":["55781fe35129590d003ff4f8","55781fe35129590d003ff4f9","55781fe35129590d003ff4fa","55781fe35129590d003ff4fb","55781fe35129590d003ff4fc","55781fe35129590d003ff4fd","55781fe35129590d003ff4fe","564bbc7e8841060d00abb2ee","565b66c446118c0d00dcb0bb","56898269f8dc340d00308c13","582318b23b961a0f009516a1","594a848c9f4771001a43c959"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"Developers","version_clean":"2.0.0","version":"2.0"},"category":{"_id":"55781fe35129590d003ff4fb","version":"55781fe25129590d003ff4f7","__v":11,"pages":["55781fe45129590d003ff517","55781fe45129590d003ff518","55781fe45129590d003ff519","55781fe45129590d003ff51a","55781fe45129590d003ff51b","55781fe45129590d003ff51c","55781fe45129590d003ff51d","55781fe45129590d003ff51e","55781fe45129590d003ff51f","55781fe45129590d003ff520","55781fe45129590d003ff521","55781fe45129590d003ff522","5579ab5fc7fb3f2100096fad","55f7de1660cc850d008a7a22","55f7e1fbe32e9b0d00a2d4d0","561f72bacec1a50d00979598","561f764f61c0521700acc428","563337539c607719001b85dd","564318f1f49bfa0d002f5566","564f03454f000617007bd670","565ee80a23fd5f0d00a129f9","56793cd73473bc0d008e141b"],"project":"54aa7f773b56130b0056c86e","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-01-05T12:43:51.897Z","from_sync":false,"order":3,"slug":"ios-sdk","title":"iOS SDK"},"githubsync":"","project":"54aa7f773b56130b0056c86e","__v":8,"user":"54aa7f3f9bb00c0b00cb899b","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-09-15T09:00:06.637Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":11,"body":"[block:callout]\n{\n  \"type\": \"success\",\n  \"body\": \"Please make sure that you're familiar with the [Running the Pulsate SDK](https://pulsate.readme.io/v2.0/docs/running-the-pulsate-sdk) tutorial.\"\n}\n[/block]\nPulsate enables you to track actions that your user's have taken within your app by setting custom events. You can track these custom events to get a better idea of the customer journey within your app. You can also deliver targeted campaigns to users based on their actions within the app. \n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Custom Event Campaign Example\",\n  \"body\": \"You create a campaign with a coupon for a variety of clothes. You decide to show this campaign on *didPressClothesButton* event trigger. When user clicks on the *Clothes* section button, you send a *didPressClothesButton* event through the SDK. The server will take care of the rest and deliver your campaign to the user.\"\n}\n[/block]\nTo enable Pulsate to track these events, use the *createEvent:* method on the Pulsate Manager object:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"[pulsateManager createEvent::::at:::\\\"didPressClothesButton\\\"];\",\n      \"language\": \"objectivec\"\n    }\n  ]\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"pulsateManager.createEvent(\\\"didPressClothesButton\\\")\",\n      \"language\": \"swift\"\n    }\n  ]\n}\n[/block]\nOnce those custom events have been set, every time a user completes that action, it will be recorded by Pulsate and you can chooses those events in the Targeting section when you are sending a campaign.","excerpt":"","slug":"creating-custom-events","type":"basic","title":"Creating Custom Events"}

Creating Custom Events


[block:callout] { "type": "success", "body": "Please make sure that you're familiar with the [Running the Pulsate SDK](https://pulsate.readme.io/v2.0/docs/running-the-pulsate-sdk) tutorial." } [/block] Pulsate enables you to track actions that your user's have taken within your app by setting custom events. You can track these custom events to get a better idea of the customer journey within your app. You can also deliver targeted campaigns to users based on their actions within the app. [block:callout] { "type": "info", "title": "Custom Event Campaign Example", "body": "You create a campaign with a coupon for a variety of clothes. You decide to show this campaign on *didPressClothesButton* event trigger. When user clicks on the *Clothes* section button, you send a *didPressClothesButton* event through the SDK. The server will take care of the rest and deliver your campaign to the user." } [/block] To enable Pulsate to track these events, use the *createEvent:* method on the Pulsate Manager object: [block:code] { "codes": [ { "code": "[pulsateManager createEvent:@\"didPressClothesButton\"];", "language": "objectivec" } ] } [/block] [block:code] { "codes": [ { "code": "pulsateManager.createEvent(\"didPressClothesButton\")", "language": "swift" } ] } [/block] Once those custom events have been set, every time a user completes that action, it will be recorded by Pulsate and you can chooses those events in the Targeting section when you are sending a campaign.