diff --git a/BluxClient/Classes/BluxClient.swift b/BluxClient/Classes/BluxClient.swift
index 9202756..b5b29d5 100644
--- a/BluxClient/Classes/BluxClient.swift
+++ b/BluxClient/Classes/BluxClient.swift
@@ -287,15 +287,14 @@ struct PropertiesWrapper<T: Codable>: Codable {
         }
     }
 
-    public static func sendRequestData(_ data: [Event]) {
-        EventService.sendRequest(data)
-        InappService.handleInappEvent(data)
+    public static func sendRequestData(_ events: [Event]) {
+        EventService.sendRequest(events)
+        InappService.handleInappEvent(events)
     }
 
     /// Send Request
-    public static func sendRequest(_ request: EventRequest) {
-        let requestData = request.getPayload()
-        sendRequestData(requestData)
+    public static func sendRequest(_ eventRequest: EventRequest) {
+        sendRequestData(eventRequest.getPayload())
     }
 
     /// Set the handler when notification is clicked
diff --git a/BluxClient/Classes/WebViewController.swift b/BluxClient/Classes/WebViewController.swift
index 27f9ad3..dfa5f4c 100644
--- a/BluxClient/Classes/WebViewController.swift
+++ b/BluxClient/Classes/WebViewController.swift
@@ -5,7 +5,7 @@
 //  Created by Tommy on 6/4/24.
 //
 import UIKit
-import WebKit
+@preconcurrency import WebKit
 
 @available(iOSApplicationExtension, unavailable)
 final class WebViewController: UIViewController, WKNavigationDelegate,
diff --git a/BluxClient/Classes/request/events/AddCartaddEvent.swift b/BluxClient/Classes/request/events/AddCartaddEvent.swift
index 18043a4..c6a4942 100644
--- a/BluxClient/Classes/request/events/AddCartaddEvent.swift
+++ b/BluxClient/Classes/request/events/AddCartaddEvent.swift
@@ -5,17 +5,18 @@ public class AddCartaddEvent: EventRequest {
     
     init(builder: Builder) throws {
         super.init()
-        self.events.append(
-            try Event(eventType: builder.eventType)
+        try self.events.append(
+            Event(eventType: builder.eventType)
                 .setItemId(builder.itemId)
                 .setCustomEventProperties(builder.customEventProperties)
         )
     }
     
     public class Builder {
-        var itemId: String
-        var eventType: String = AddCartaddEvent.DEFAULT_EVENT_TYPE
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String = AddCartaddEvent.DEFAULT_EVENT_TYPE
+        
+        fileprivate var itemId: String
+        fileprivate var customEventProperties: [String: String]? = nil
         
         public init(itemId: String) {
             self.itemId = itemId
@@ -31,4 +32,3 @@ public class AddCartaddEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddCustomEvent.swift b/BluxClient/Classes/request/events/AddCustomEvent.swift
index 4e2f163..6a23901 100644
--- a/BluxClient/Classes/request/events/AddCustomEvent.swift
+++ b/BluxClient/Classes/request/events/AddCustomEvent.swift
@@ -11,14 +11,20 @@ public class AddCustomEvent: EventRequest {
     }
 
     public class Builder {
-        var itemId: String?
-        var eventType: String
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String
+
+        fileprivate var itemId: String?
+        fileprivate var customEventProperties: [String: String]? = nil
 
         public init(eventType: String) {
             self.eventType = eventType
         }
 
+        public func itemId(_ itemId: String) -> Builder {
+            self.itemId = itemId
+            return self
+        }
+
         public func customEventProperties(
             _ customEventProperties: [String: String]
         ) -> Builder {
diff --git a/BluxClient/Classes/request/events/AddInstantImpression.swift b/BluxClient/Classes/request/events/AddInstantImpression.swift
new file mode 100644
index 0000000..394deb7
--- /dev/null
+++ b/BluxClient/Classes/request/events/AddInstantImpression.swift
@@ -0,0 +1,50 @@
+import Foundation
+
+public class AddInstantImpressionEvent: EventRequest {
+    private static let DEFAULT_EVENT_TYPE = "instant_impression"
+
+    init(builder: Builder) throws {
+        super.init()
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setItemId(builder.itemId)
+                .setPage(builder.page)
+                .setSection(builder.section)
+                .setPosition(builder.position)
+                .setRecommendationId(builder.recommendationId ?? "")
+                .setCustomEventProperties(builder.customEventProperties ?? [:])
+        )
+    }
+
+    public class Builder {
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let itemId: String
+        fileprivate let page: String
+        fileprivate let section: String
+        fileprivate let position: Double
+
+        fileprivate var recommendationId: String? = nil
+        fileprivate var customEventProperties: [String: String]? = nil
+
+        public init(itemId: String, page: String, section: String, position: Double) {
+            self.itemId = itemId
+            self.page = page
+            self.section = section
+            self.position = position
+        }
+
+        public func recommendationId(_ recommendationId: String) -> Builder {
+            self.recommendationId = recommendationId
+            return self
+        }
+
+        public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
+            self.customEventProperties = customEventProperties
+            return self
+        }
+
+        public func build() throws -> AddInstantImpressionEvent {
+            return try AddInstantImpressionEvent(builder: self)
+        }
+    }
+}
diff --git a/BluxClient/Classes/request/events/AddLikeEvent.swift b/BluxClient/Classes/request/events/AddLikeEvent.swift
index 3ece4e4..3a2130e 100644
--- a/BluxClient/Classes/request/events/AddLikeEvent.swift
+++ b/BluxClient/Classes/request/events/AddLikeEvent.swift
@@ -5,17 +5,18 @@ public class AddLikeEvent: EventRequest {
     
     init(builder: Builder) throws {
         super.init()
-        self.events.append(
-            try Event(eventType: builder.eventType)
+        try self.events.append(
+            Event(eventType: builder.eventType)
                 .setItemId(builder.itemId)
                 .setCustomEventProperties(builder.customEventProperties)
         )
     }
     
     public class Builder {
-        var itemId: String
-        var eventType: String = AddLikeEvent.DEFAULT_EVENT_TYPE
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let itemId: String
+        
+        fileprivate var customEventProperties: [String: String]? = nil
         
         public init(itemId: String) {
             self.itemId = itemId
@@ -31,4 +32,3 @@ public class AddLikeEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddPageViewEvent.swift b/BluxClient/Classes/request/events/AddPageViewEvent.swift
index c5443ad..3e3b742 100644
--- a/BluxClient/Classes/request/events/AddPageViewEvent.swift
+++ b/BluxClient/Classes/request/events/AddPageViewEvent.swift
@@ -5,23 +5,23 @@ public class AddPageViewEvent: EventRequest {
     
     init(builder: Builder) throws {
         super.init()
-        self.events.append(
-            try Event(eventType: builder.eventType)
-                    .setPage(builder.page)
-                    .setCustomEventProperties(builder.customEventProperties)
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setPage(builder.page)
+                .setCustomEventProperties(builder.customEventProperties)
         )
     }
     
     public class Builder {
-        var eventType: String = AddPageViewEvent.DEFAULT_EVENT_TYPE
-        var page: String
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let page: String
+        
+        fileprivate var customEventProperties: [String: String]? = nil
         
         public init(page: String) {
             self.page = page
         }
         
-
         public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
             self.customEventProperties = customEventProperties
             return self
@@ -32,4 +32,3 @@ public class AddPageViewEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddPageVisitEvent.swift b/BluxClient/Classes/request/events/AddPageVisitEvent.swift
new file mode 100644
index 0000000..0cf397d
--- /dev/null
+++ b/BluxClient/Classes/request/events/AddPageVisitEvent.swift
@@ -0,0 +1,30 @@
+import Foundation
+
+public class AddPageVisitEvent: EventRequest {
+    private static let DEFAULT_EVENT_TYPE: String = "page_visit"
+    
+    init(builder: Builder) throws {
+        super.init()
+        self.events.append(
+            Event(eventType: builder.eventType)
+                .setCustomEventProperties(builder.customEventProperties)
+        )
+    }
+    
+    public class Builder {
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        
+        fileprivate var customEventProperties: [String: String]? = nil
+        
+        public init() {}
+        
+        public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
+            self.customEventProperties = customEventProperties
+            return self
+        }
+        
+        public func build() throws -> AddPageVisitEvent {
+            return try AddPageVisitEvent(builder: self)
+        }
+    }
+}
diff --git a/BluxClient/Classes/request/events/AddPersistentImpression.swift b/BluxClient/Classes/request/events/AddPersistentImpression.swift
new file mode 100644
index 0000000..77d0ed5
--- /dev/null
+++ b/BluxClient/Classes/request/events/AddPersistentImpression.swift
@@ -0,0 +1,50 @@
+import Foundation
+
+public class AddPersistentImpressionEvent: EventRequest {
+    private static let DEFAULT_EVENT_TYPE = "persistent_impression"
+
+    init(builder: Builder) throws {
+        super.init()
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setItemId(builder.itemId)
+                .setPage(builder.page)
+                .setSection(builder.section)
+                .setPosition(builder.position)
+                .setRecommendationId(builder.recommendationId ?? "")
+                .setCustomEventProperties(builder.customEventProperties ?? [:])
+        )
+    }
+
+    public class Builder {
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let itemId: String
+        fileprivate let page: String
+        fileprivate let section: String
+        fileprivate let position: Double
+
+        fileprivate var recommendationId: String? = nil
+        fileprivate var customEventProperties: [String: String]? = nil
+
+        public init(itemId: String, page: String, section: String, position: Double) {
+            self.itemId = itemId
+            self.page = page
+            self.section = section
+            self.position = position
+        }
+
+        public func recommendationId(_ recommendationId: String) -> Builder {
+            self.recommendationId = recommendationId
+            return self
+        }
+
+        public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
+            self.customEventProperties = customEventProperties
+            return self
+        }
+
+        public func build() throws -> AddPersistentImpressionEvent {
+            return try AddPersistentImpressionEvent(builder: self)
+        }
+    }
+}
diff --git a/BluxClient/Classes/request/events/AddProductDetailViewEvent.swift b/BluxClient/Classes/request/events/AddProductDetailViewEvent.swift
index e09bf73..b90efd4 100644
--- a/BluxClient/Classes/request/events/AddProductDetailViewEvent.swift
+++ b/BluxClient/Classes/request/events/AddProductDetailViewEvent.swift
@@ -5,22 +5,44 @@ public class AddProductDetailViewEvent: EventRequest {
     
     init(builder: Builder) throws {
         super.init()
-        self.events.append(
-            try Event(eventType: builder.eventType)
-                    .setItemId(builder.itemId)
-                    .setCustomEventProperties(builder.customEventProperties)
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setItemId(builder.itemId)
+                .setPrevPage(builder.prevPage)
+                .setPrevSection(builder.prevSection)
+                .setRecommendationId(builder.recommendationId)
+                .setCustomEventProperties(builder.customEventProperties)
         )
     }
     
     public class Builder {
-        var itemId: String
-        var eventType: String = AddProductDetailViewEvent.DEFAULT_EVENT_TYPE
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String = AddProductDetailViewEvent.DEFAULT_EVENT_TYPE
+        fileprivate let itemId: String
+        
+        fileprivate var prevPage: String? = nil
+        fileprivate var prevSection: String? = nil
+        fileprivate var recommendationId: String? = nil
+        fileprivate var customEventProperties: [String: String]? = nil
         
         public init(itemId: String) {
             self.itemId = itemId
         }
         
+        public func prevPage(_ prevPage: String) -> Builder {
+            self.prevPage = prevPage
+            return self
+        }
+        
+        public func prevSection(_ prevSection: String) -> Builder {
+            self.prevSection = prevSection
+            return self
+        }
+        
+        public func recommendationId(_ recommendationId: String) -> Builder {
+            self.recommendationId = recommendationId
+            return self
+        }
+        
         public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
             self.customEventProperties = customEventProperties
             return self
@@ -31,4 +53,3 @@ public class AddProductDetailViewEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddPurchaseEvent.swift b/BluxClient/Classes/request/events/AddPurchaseEvent.swift
index 4ae1f1e..e129327 100644
--- a/BluxClient/Classes/request/events/AddPurchaseEvent.swift
+++ b/BluxClient/Classes/request/events/AddPurchaseEvent.swift
@@ -9,25 +9,22 @@ public class AddPurchaseEvent: EventRequest {
     }
     
     public class Builder {
-        var events: [Event] = []
-        var eventType: String = AddPurchaseEvent.DEFAULT_EVENT_TYPE
-        var customEventProperties: [String: String]? = nil
+        fileprivate var events: [Event] = []
         
-        public init() {
-            
-        }
+        public init() {}
         
-        public func addPurchase(itemId: String, price: Double, quantity: Int, customEventProperties: [String: String]? = nil) throws -> Builder {
-            guard (quantity > 0) else {
+        public func addPurchase(itemId: String, price: Double, quantity: Int, orderId: String? = nil, customEventProperties: [String: String]? = nil) throws -> Builder {
+            guard quantity > 0 else {
                 throw BluxError.InvalidQuantity
             }
             
             var customEventPropertiesWithQuantity = customEventProperties ?? [:]
             customEventPropertiesWithQuantity["quantity"] = "\(quantity)"
             
-            let event = try Event(eventType: eventType)
+            let event = try Event(eventType: DEFAULT_EVENT_TYPE)
                 .setItemId(itemId)
                 .setPrice(price * Double(quantity))
+                .setOrderId(orderId)
                 .setCustomEventProperties(customEventPropertiesWithQuantity)
             
             self.events.append(event)
@@ -39,4 +36,3 @@ public class AddPurchaseEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddRateEvent.swift b/BluxClient/Classes/request/events/AddRateEvent.swift
index cc7517f..82b2df8 100644
--- a/BluxClient/Classes/request/events/AddRateEvent.swift
+++ b/BluxClient/Classes/request/events/AddRateEvent.swift
@@ -5,19 +5,20 @@ public class AddRateEvent: EventRequest {
     
     init(builder: Builder) throws {
         super.init()
-        self.events.append(
-            try Event(eventType: builder.eventType)
-                    .setItemId(builder.itemId)
-                    .setRating(builder.rating)
-                    .setCustomEventProperties(builder.customEventProperties)
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setItemId(builder.itemId)
+                .setRating(builder.rating)
+                .setCustomEventProperties(builder.customEventProperties)
         )
     }
     
     public class Builder {
-        var itemId: String
-        var eventType: String = AddRateEvent.DEFAULT_EVENT_TYPE
-        var rating: Double
-        var customEventProperties: [String: String]? = nil
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let itemId: String
+        fileprivate let rating: Double
+        
+        fileprivate var customEventProperties: [String: String]? = nil
         
         public init(itemId: String, rating: Double) {
             self.itemId = itemId
@@ -34,4 +35,3 @@ public class AddRateEvent: EventRequest {
         }
     }
 }
-
diff --git a/BluxClient/Classes/request/events/AddSectionViewEvent.swift b/BluxClient/Classes/request/events/AddSectionViewEvent.swift
new file mode 100644
index 0000000..677a73d
--- /dev/null
+++ b/BluxClient/Classes/request/events/AddSectionViewEvent.swift
@@ -0,0 +1,41 @@
+import Foundation
+
+public class AddSectionViewEvent: EventRequest {
+    private static let DEFAULT_EVENT_TYPE: String = "section_view"
+    
+    init(builder: Builder) throws {
+        super.init()
+        try self.events.append(
+            Event(eventType: builder.eventType)
+                .setSection(builder.section)
+                .setRecommendationId(builder.recommendationId)
+                .setCustomEventProperties(builder.customEventProperties)
+        )
+    }
+    
+    public class Builder {
+        fileprivate let eventType: String = DEFAULT_EVENT_TYPE
+        fileprivate let section: String
+        
+        fileprivate var recommendationId: String? = nil
+        fileprivate var customEventProperties: [String: String]? = nil
+        
+        public init(section: String) {
+            self.section = section
+        }
+        
+        public func recommendationId(_ recommendationId: String) -> Builder {
+            self.recommendationId = recommendationId
+            return self
+        }
+        
+        public func customEventProperties(_ customEventProperties: [String: String]) -> Builder {
+            self.customEventProperties = customEventProperties
+            return self
+        }
+        
+        public func build() throws -> AddSectionViewEvent {
+            return try AddSectionViewEvent(builder: self)
+        }
+    }
+}
diff --git a/BluxClient/Classes/request/events/Event.swift b/BluxClient/Classes/request/events/Event.swift
index fe0bfc1..4e12eac 100644
--- a/BluxClient/Classes/request/events/Event.swift
+++ b/BluxClient/Classes/request/events/Event.swift
@@ -2,17 +2,29 @@ import Foundation
 
 public class EventProperties: Codable {
     public var itemId: String?
+    public var section: String?
+    public var prevSection: String?
+    public var recommendationId: String?
     public var price: Double?
+    public var orderId: String?
     public var rating: Double?
+    public var prevPage: String?
     public var page: String?
+    public var position: Double?
 
     enum CodingKeys: String,
         CodingKey
     {
         case itemId = "item_id"
+        case section
+        case prevSection = "prev_section"
+        case recommendationId = "recommendation_id"
         case price
+        case orderId = "order_id"
         case rating
+        case prevPage = "prev_page"
         case page
+        case position
     }
 }
 
@@ -52,24 +64,81 @@ public class Event: Codable {
     }
 
     @discardableResult
-    public func setPage(_ page: String) throws -> Event {
-        let validatedPage = try Validator.validateString(page, min: 1, max: 500, varName: "page")
+    public func setSection(_ section: String?) throws -> Event {
+        if let section = section {
+            let validatedSection = try Validator.validateString(section, min: 1, max: 500, varName: "section")
+            eventProperties.section = validatedSection
+        }
+        return self
+    }
+
+    @discardableResult
+    public func setPrevSection(_ prevSection: String?) throws -> Event {
+        if let prevSection = prevSection {
+            let validatedPrevSection = try Validator.validateString(prevSection, min: 1, max: 500, varName: "prevSection")
+            eventProperties.prevSection = validatedPrevSection
+        }
+        return self
+    }
+
+    @discardableResult
+    public func setRecommendationId(_ recommendationId: String?) throws -> Event {
+        if let recommendationId = recommendationId {
+            let validatedRecommendationId = try Validator.validateString(recommendationId, min: 1, max: 500, varName: "recommendationId")
+            eventProperties.recommendationId = validatedRecommendationId
+        }
+        return self
+    }
+
+    @discardableResult
+    public func setPrice(_ price: Double?) throws -> Event {
+        if let price = price {
+            let validatedPrice = try Validator.validateNumber(price, min: 0, varName: "price")
+            eventProperties.price = validatedPrice
+        }
+        return self
+    }
+
+    @discardableResult
+    public func setOrderId(_ orderId: String?) throws -> Event {
+        if let orderId = orderId {
+            let validatedOrderId = try Validator.validateString(orderId, min: 1, max: 500, varName: "orderId")
+            eventProperties.orderId = validatedOrderId
+        }
+        return self
+    }
+
+    @discardableResult
+    public func setRating(_ rating: Double?) throws -> Event {
+        if let rating = rating {
+            eventProperties.rating = rating
+        }
+        return self
+    }
 
-        eventProperties.page = validatedPage
+    @discardableResult
+    public func setPrevPage(_ prevPage: String?) throws -> Event {
+        if let prevPage = prevPage {
+            let validatedPrevPage = try Validator.validateString(prevPage, min: 1, max: 500, varName: "prevPage")
+            eventProperties.prevPage = validatedPrevPage
+        }
         return self
     }
 
     @discardableResult
-    public func setPrice(_ price: Double) throws -> Event {
-        let validatedPrice = try Validator.validateNumber(price, min: 0, varName: "price")
-        eventProperties.price = validatedPrice
+    public func setPage(_ page: String?) throws -> Event {
+        if let page = page {
+            let validatedPage = try Validator.validateString(page, min: 1, max: 500, varName: "page")
+            eventProperties.page = validatedPage
+        }
         return self
     }
 
     @discardableResult
-    public func setRating(_ rating: Double) throws -> Event {
-        let validatedRating = try Validator.validateNumber(rating, min: 0, varName: "rating")
-        eventProperties.rating = validatedRating
+    public func setPosition(_ position: Double?) throws -> Event {
+        if let position = position {
+            eventProperties.position = position
+        }
         return self
     }
 
diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj
index deb3207..8be7128 100644
--- a/Example/Pods/Pods.xcodeproj/project.pbxproj
+++ b/Example/Pods/Pods.xcodeproj/project.pbxproj
@@ -9,6 +9,10 @@
 /* Begin PBXBuildFile section */
 		025FB895582BD3D658F9923BF34CEC0F /* EventService.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0FC9F3F27F8E2C2AE610BFED27CBD23 /* EventService.swift */; };
 		064972E597D29F26F059E9D105A2B6E3 /* AddProductDetailViewEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21DB5DD39D03596D27F60825C55DFEC9 /* AddProductDetailViewEvent.swift */; };
+		1AD7B4A92D1282B5000C6FAF /* AddInstantImpression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AD7B4A82D1282B2000C6FAF /* AddInstantImpression.swift */; };
+		1AEE71FC2D128F4100BA3C0F /* AddPageVisitEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEE71FB2D128F3900BA3C0F /* AddPageVisitEvent.swift */; };
+		1AEE71FE2D12982700BA3C0F /* AddPersistentImpression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEE71FD2D12982600BA3C0F /* AddPersistentImpression.swift */; };
+		1AEE72002D129C8C00BA3C0F /* AddSectionViewEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1AEE71FF2D129C8A00BA3C0F /* AddSectionViewEvent.swift */; };
 		1EC147553D5D28A57081F1A6173A440C /* BluxClient-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 51EF65364429228275EA9C4C5666618D /* BluxClient-dummy.m */; };
 		20EDDC9C567C94AF4EA6E545D24C3E7E /* HTTPClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 88A3909FB093ECEE979A2606BBA84008 /* HTTPClient.swift */; };
 		21B04C1012D8CB1F05D2AC1704F846EB /* BluxNotificationCenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F7DFEF76AD16D53FE2694FA72786E96 /* BluxNotificationCenter.swift */; };
@@ -72,6 +76,10 @@
 		068E40AC4E4E971972B12454208B7641 /* Pods-BluxClient_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-BluxClient_Example-acknowledgements.plist"; sourceTree = "<group>"; };
 		11FBF77E331C2375C764D5501F98873B /* Pods-BluxNotificationServiceExtenstion.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-BluxNotificationServiceExtenstion.release.xcconfig"; sourceTree = "<group>"; };
 		1A90C5C3C7274A7186DE3605363F292E /* EventHandlers.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = EventHandlers.swift; path = BluxClient/Classes/EventHandlers.swift; sourceTree = "<group>"; };
+		1AD7B4A82D1282B2000C6FAF /* AddInstantImpression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddInstantImpression.swift; sourceTree = "<group>"; };
+		1AEE71FB2D128F3900BA3C0F /* AddPageVisitEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddPageVisitEvent.swift; sourceTree = "<group>"; };
+		1AEE71FD2D12982600BA3C0F /* AddPersistentImpression.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddPersistentImpression.swift; sourceTree = "<group>"; };
+		1AEE71FF2D129C8A00BA3C0F /* AddSectionViewEvent.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddSectionViewEvent.swift; sourceTree = "<group>"; };
 		1D700A57D8BD33D63B8EEF4AF63A1FAA /* Pods-BluxNotificationServiceExtenstion-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-BluxNotificationServiceExtenstion-acknowledgements.markdown"; sourceTree = "<group>"; };
 		21DAAB3AAEC17F6A85FE8B7810FD6317 /* Pods-BluxNotificationServiceExtenstion-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-BluxNotificationServiceExtenstion-umbrella.h"; sourceTree = "<group>"; };
 		21DB5DD39D03596D27F60825C55DFEC9 /* AddProductDetailViewEvent.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AddProductDetailViewEvent.swift; sourceTree = "<group>"; };
@@ -213,11 +221,15 @@
 				E9DBAAE72CE4A5BE003FC11C /* InappEvent.swift */,
 				5E45686C2CD11B6AA2AB2385B52F3FDD /* AddCartaddEvent.swift */,
 				4A35B7D704AC6369BBF18CA795EDC866 /* AddCustomEvent.swift */,
+				1AD7B4A82D1282B2000C6FAF /* AddInstantImpression.swift */,
 				C27427288323DD4CA72EF6DEA5F93943 /* AddLikeEvent.swift */,
 				E22BE8F520DCB2CC848E58640D3EE969 /* AddPageViewEvent.swift */,
+				1AEE71FB2D128F3900BA3C0F /* AddPageVisitEvent.swift */,
+				1AEE71FD2D12982600BA3C0F /* AddPersistentImpression.swift */,
 				21DB5DD39D03596D27F60825C55DFEC9 /* AddProductDetailViewEvent.swift */,
 				005759E130A9055C40998D349F473858 /* AddPurchaseEvent.swift */,
 				E697AFD60CEF4A4480B5D0813A4579E2 /* AddRateEvent.swift */,
+				1AEE71FF2D129C8A00BA3C0F /* AddSectionViewEvent.swift */,
 				FCF604E5BB559FA6D79BBE1AE30C4319 /* Event.swift */,
 				6D4BEBDF3EF53167EB03A5B8D8F72E73 /* EventRequest.swift */,
 			);
@@ -501,9 +513,11 @@
 			files = (
 				8DF014C87A560ADD9655C756B4C2A296 /* AddCartaddEvent.swift in Sources */,
 				8C6B3828B43412E51802ED006FA9A29B /* AddCustomEvent.swift in Sources */,
+				1AD7B4A92D1282B5000C6FAF /* AddInstantImpression.swift in Sources */,
 				52E881DF57AD86ECC4FA6A16DA89741F /* AddLikeEvent.swift in Sources */,
 				313945057D12E33854AA837DA7D9C410 /* AddPageViewEvent.swift in Sources */,
 				064972E597D29F26F059E9D105A2B6E3 /* AddProductDetailViewEvent.swift in Sources */,
+				1AEE71FC2D128F4100BA3C0F /* AddPageVisitEvent.swift in Sources */,
 				26B9436F0F8C30AA8CBC1707A373F0A3 /* AddPurchaseEvent.swift in Sources */,
 				3E5926F9A57C66A634B66E023A77152C /* AddRateEvent.swift in Sources */,
 				89646924DCB8A7F37A195FFC78121450 /* BluxAppDelegate.swift in Sources */,
@@ -516,10 +530,12 @@
 				21B04C1012D8CB1F05D2AC1704F846EB /* BluxNotificationCenter.swift in Sources */,
 				E9BFC2202CEE0FBA00FC2055 /* WebViewMessageHandler.swift in Sources */,
 				E9AC4D052CE33BDE00659BB4 /* EventQueue.swift in Sources */,
+				1AEE71FE2D12982700BA3C0F /* AddPersistentImpression.swift in Sources */,
 				BF4A6CE53C258C87100E057E9E7378E5 /* BluxNotificationServiceExtension.swift in Sources */,
 				3DDE1842561E4EBC17123203C9C1BC3C /* ColdStartNotificationManager.swift in Sources */,
 				C92898E3034FC9C5EB7417CE4B1FF3CB /* DeviceService.swift in Sources */,
 				B2D4215FA999C5C9CBF5EC9F49278D51 /* Event.swift in Sources */,
+				1AEE72002D129C8C00BA3C0F /* AddSectionViewEvent.swift in Sources */,
 				D6307B19DAD07CC8DFA0241A7BCE3064 /* EventHandlers.swift in Sources */,
 				E9DBAAF92CE4D61D003FC11C /* UIColor.swift in Sources */,
 				E9DBAAEC2CE4AD2F003FC11C /* InappService.swift in Sources */,