1 /// @file FIREventNames.h
3 /// Predefined event names.
5 /// An Event is an important occurrence in your app that you want to measure. You can report up to
6 /// 500 different types of Events per app and you can associate up to 25 unique parameters with each
7 /// Event type. Some common events are suggested below, but you may also choose to specify custom
8 /// Event types that are associated with your specific app. Each event type is identified by a
9 /// unique name. Event names can be up to 40 characters long, may only contain alphanumeric
10 /// characters and underscores ("_"), and must start with an alphabetic character. The "firebase_",
11 /// "google_", and "ga_" prefixes are reserved and should not be used.
13 #import <Foundation/Foundation.h>
15 /// Add Payment Info event. This event signifies that a user has submitted their payment information
17 static NSString *const kFIREventAddPaymentInfo NS_SWIFT_NAME(AnalyticsEventAddPaymentInfo) =
20 /// E-Commerce Add To Cart event. This event signifies that an item was added to a cart for
21 /// purchase. Add this event to a funnel with kFIREventEcommercePurchase to gauge the effectiveness
22 /// of your checkout process. Note: If you supply the @c kFIRParameterValue parameter, you must
23 /// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
24 /// accurately. Params:
27 /// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
28 /// <li>@c kFIRParameterItemID (NSString)</li>
29 /// <li>@c kFIRParameterItemName (NSString)</li>
30 /// <li>@c kFIRParameterItemCategory (NSString)</li>
31 /// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
32 /// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
33 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
34 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
35 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
36 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
37 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
38 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
40 static NSString *const kFIREventAddToCart NS_SWIFT_NAME(AnalyticsEventAddToCart) = @"add_to_cart";
42 /// E-Commerce Add To Wishlist event. This event signifies that an item was added to a wishlist.
43 /// Use this event to identify popular gift items in your app. Note: If you supply the
44 /// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
45 /// parameter so that revenue metrics can be computed accurately. Params:
48 /// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
49 /// <li>@c kFIRParameterItemID (NSString)</li>
50 /// <li>@c kFIRParameterItemName (NSString)</li>
51 /// <li>@c kFIRParameterItemCategory (NSString)</li>
52 /// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
53 /// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
54 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
55 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
57 static NSString *const kFIREventAddToWishlist NS_SWIFT_NAME(AnalyticsEventAddToWishlist) =
60 /// App Open event. By logging this event when an App becomes active, developers can understand how
61 /// often users leave and return during the course of a Session. Although Sessions are automatically
62 /// reported, this event can provide further clarification around the continuous engagement of
64 static NSString *const kFIREventAppOpen NS_SWIFT_NAME(AnalyticsEventAppOpen) = @"app_open";
66 /// E-Commerce Begin Checkout event. This event signifies that a user has begun the process of
67 /// checking out. Add this event to a funnel with your kFIREventEcommercePurchase event to gauge the
68 /// effectiveness of your checkout process. Note: If you supply the @c kFIRParameterValue
69 /// parameter, you must also supply the @c kFIRParameterCurrency parameter so that revenue
70 /// metrics can be computed accurately. Params:
73 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
74 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
75 /// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
76 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
77 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
78 /// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
79 /// hotel bookings</li>
80 /// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
81 /// hotel bookings</li>
82 /// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
83 /// for travel bookings</li>
84 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
85 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
86 /// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
88 static NSString *const kFIREventBeginCheckout NS_SWIFT_NAME(AnalyticsEventBeginCheckout) =
91 /// Campaign Detail event. Log this event to supply the referral details of a re-engagement
92 /// campaign. Note: you must supply at least one of the required parameters kFIRParameterSource,
93 /// kFIRParameterMedium or kFIRParameterCampaign. Params:
96 /// <li>@c kFIRParameterSource (NSString)</li>
97 /// <li>@c kFIRParameterMedium (NSString)</li>
98 /// <li>@c kFIRParameterCampaign (NSString)</li>
99 /// <li>@c kFIRParameterTerm (NSString) (optional)</li>
100 /// <li>@c kFIRParameterContent (NSString) (optional)</li>
101 /// <li>@c kFIRParameterAdNetworkClickID (NSString) (optional)</li>
102 /// <li>@c kFIRParameterCP1 (NSString) (optional)</li>
104 static NSString *const kFIREventCampaignDetails NS_SWIFT_NAME(AnalyticsEventCampaignDetails) =
107 /// Checkout progress. Params:
110 /// <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
111 /// <li>@c kFIRParameterCheckoutOption (NSString) (optional)</li>
113 static NSString *const kFIREventCheckoutProgress NS_SWIFT_NAME(AnalyticsEventCheckoutProgress) =
114 @"checkout_progress";
116 /// Earn Virtual Currency event. This event tracks the awarding of virtual currency in your app. Log
117 /// this along with @c kFIREventSpendVirtualCurrency to better understand your virtual economy.
121 /// <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
122 /// <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
124 static NSString *const kFIREventEarnVirtualCurrency
125 NS_SWIFT_NAME(AnalyticsEventEarnVirtualCurrency) = @"earn_virtual_currency";
127 /// E-Commerce Purchase event. This event signifies that an item was purchased by a user. Note:
128 /// This is different from the in-app purchase event, which is reported automatically for App
129 /// Store-based apps. Note: If you supply the @c kFIRParameterValue parameter, you must also
130 /// supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
131 /// accurately. Params:
134 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
135 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
136 /// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
137 /// <li>@c kFIRParameterTax (double as NSNumber) (optional)</li>
138 /// <li>@c kFIRParameterShipping (double as NSNumber) (optional)</li>
139 /// <li>@c kFIRParameterCoupon (NSString) (optional)</li>
140 /// <li>@c kFIRParameterLocation (NSString) (optional)</li>
141 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
142 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
143 /// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
144 /// hotel bookings</li>
145 /// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
146 /// hotel bookings</li>
147 /// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
148 /// for travel bookings</li>
149 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
150 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
151 /// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
153 static NSString *const kFIREventEcommercePurchase NS_SWIFT_NAME(AnalyticsEventEcommercePurchase) =
154 @"ecommerce_purchase";
156 /// Generate Lead event. Log this event when a lead has been generated in the app to understand the
157 /// efficacy of your install and re-engagement campaigns. Note: If you supply the
158 /// @c kFIRParameterValue parameter, you must also supply the @c kFIRParameterCurrency
159 /// parameter so that revenue metrics can be computed accurately. Params:
162 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
163 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
165 static NSString *const kFIREventGenerateLead NS_SWIFT_NAME(AnalyticsEventGenerateLead) =
168 /// Join Group event. Log this event when a user joins a group such as a guild, team or family. Use
169 /// this event to analyze how popular certain groups or social features are in your app. Params:
172 /// <li>@c kFIRParameterGroupID (NSString)</li>
174 static NSString *const kFIREventJoinGroup NS_SWIFT_NAME(AnalyticsEventJoinGroup) = @"join_group";
176 /// Level Up event. This event signifies that a player has leveled up in your gaming app. It can
177 /// help you gauge the level distribution of your userbase and help you identify certain levels that
178 /// are difficult to pass. Params:
181 /// <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber)</li>
182 /// <li>@c kFIRParameterCharacter (NSString) (optional)</li>
184 static NSString *const kFIREventLevelUp NS_SWIFT_NAME(AnalyticsEventLevelUp) = @"level_up";
186 /// Login event. Apps with a login feature can report this event to signify that a user has logged
188 static NSString *const kFIREventLogin NS_SWIFT_NAME(AnalyticsEventLogin) = @"login";
190 /// Post Score event. Log this event when the user posts a score in your gaming app. This event can
191 /// help you understand how users are actually performing in your game and it can help you correlate
192 /// high scores with certain audiences or behaviors. Params:
195 /// <li>@c kFIRParameterScore (signed 64-bit integer as NSNumber)</li>
196 /// <li>@c kFIRParameterLevel (signed 64-bit integer as NSNumber) (optional)</li>
197 /// <li>@c kFIRParameterCharacter (NSString) (optional)</li>
199 static NSString *const kFIREventPostScore NS_SWIFT_NAME(AnalyticsEventPostScore) = @"post_score";
201 /// Present Offer event. This event signifies that the app has presented a purchase offer to a user.
202 /// Add this event to a funnel with the kFIREventAddToCart and kFIREventEcommercePurchase to gauge
203 /// your conversion process. Note: If you supply the @c kFIRParameterValue parameter, you must
204 /// also supply the @c kFIRParameterCurrency parameter so that revenue metrics can be computed
205 /// accurately. Params:
208 /// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
209 /// <li>@c kFIRParameterItemID (NSString)</li>
210 /// <li>@c kFIRParameterItemName (NSString)</li>
211 /// <li>@c kFIRParameterItemCategory (NSString)</li>
212 /// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
213 /// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
214 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
215 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
217 static NSString *const kFIREventPresentOffer NS_SWIFT_NAME(AnalyticsEventPresentOffer) =
220 /// E-Commerce Purchase Refund event. This event signifies that an item purchase was refunded.
221 /// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
222 /// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
226 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
227 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
228 /// <li>@c kFIRParameterTransactionID (NSString) (optional)</li>
230 static NSString *const kFIREventPurchaseRefund NS_SWIFT_NAME(AnalyticsEventPurchaseRefund) =
233 /// Remove from cart event. Params:
236 /// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber)</li>
237 /// <li>@c kFIRParameterItemID (NSString)</li>
238 /// <li>@c kFIRParameterItemName (NSString)</li>
239 /// <li>@c kFIRParameterItemCategory (NSString)</li>
240 /// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
241 /// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
242 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
243 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
244 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
245 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
246 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
247 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
249 static NSString *const kFIREventRemoveFromCart NS_SWIFT_NAME(AnalyticsEventRemoveFromCart) =
252 /// Search event. Apps that support search features can use this event to contextualize search
253 /// operations by supplying the appropriate, corresponding parameters. This event can help you
254 /// identify the most popular content in your app. Params:
257 /// <li>@c kFIRParameterSearchTerm (NSString)</li>
258 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
259 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
260 /// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
261 /// hotel bookings</li>
262 /// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
263 /// hotel bookings</li>
264 /// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
265 /// for travel bookings</li>
266 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
267 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
268 /// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
270 static NSString *const kFIREventSearch NS_SWIFT_NAME(AnalyticsEventSearch) = @"search";
272 /// Select Content event. This general purpose event signifies that a user has selected some content
273 /// of a certain type in an app. The content can be any object in your app. This event can help you
274 /// identify popular content and categories of content in your app. Params:
277 /// <li>@c kFIRParameterContentType (NSString)</li>
278 /// <li>@c kFIRParameterItemID (NSString)</li>
280 static NSString *const kFIREventSelectContent NS_SWIFT_NAME(AnalyticsEventSelectContent) =
283 /// Set checkout option. Params:
286 /// <li>@c kFIRParameterCheckoutStep (unsigned 64-bit integer as NSNumber)</li>
287 /// <li>@c kFIRParameterCheckoutOption (NSString)</li>
289 static NSString *const kFIREventSetCheckoutOption NS_SWIFT_NAME(AnalyticsEventSetCheckoutOption) =
290 @"set_checkout_option";
292 /// Share event. Apps with social features can log the Share event to identify the most viral
296 /// <li>@c kFIRParameterContentType (NSString)</li>
297 /// <li>@c kFIRParameterItemID (NSString)</li>
299 static NSString *const kFIREventShare NS_SWIFT_NAME(AnalyticsEventShare) = @"share";
301 /// Sign Up event. This event indicates that a user has signed up for an account in your app. The
302 /// parameter signifies the method by which the user signed up. Use this event to understand the
303 /// different behaviors between logged in and logged out users. Params:
306 /// <li>@c kFIRParameterSignUpMethod (NSString)</li>
308 static NSString *const kFIREventSignUp NS_SWIFT_NAME(AnalyticsEventSignUp) = @"sign_up";
310 /// Spend Virtual Currency event. This event tracks the sale of virtual goods in your app and can
311 /// help you identify which virtual goods are the most popular objects of purchase. Params:
314 /// <li>@c kFIRParameterItemName (NSString)</li>
315 /// <li>@c kFIRParameterVirtualCurrencyName (NSString)</li>
316 /// <li>@c kFIRParameterValue (signed 64-bit integer or double as NSNumber)</li>
318 static NSString *const kFIREventSpendVirtualCurrency
319 NS_SWIFT_NAME(AnalyticsEventSpendVirtualCurrency) = @"spend_virtual_currency";
321 /// Tutorial Begin event. This event signifies the start of the on-boarding process in your app. Use
322 /// this in a funnel with kFIREventTutorialComplete to understand how many users complete this
323 /// process and move on to the full app experience.
324 static NSString *const kFIREventTutorialBegin NS_SWIFT_NAME(AnalyticsEventTutorialBegin) =
327 /// Tutorial End event. Use this event to signify the user's completion of your app's on-boarding
328 /// process. Add this to a funnel with kFIREventTutorialBegin to gauge the completion rate of your
329 /// on-boarding process.
330 static NSString *const kFIREventTutorialComplete NS_SWIFT_NAME(AnalyticsEventTutorialComplete) =
331 @"tutorial_complete";
333 /// Unlock Achievement event. Log this event when the user has unlocked an achievement in your
334 /// game. Since achievements generally represent the breadth of a gaming experience, this event can
335 /// help you understand how many users are experiencing all that your game has to offer. Params:
338 /// <li>@c kFIRParameterAchievementID (NSString)</li>
340 static NSString *const kFIREventUnlockAchievement NS_SWIFT_NAME(AnalyticsEventUnlockAchievement) =
341 @"unlock_achievement";
343 /// View Item event. This event signifies that some content was shown to the user. This content may
344 /// be a product, a webpage or just a simple image or text. Use the appropriate parameters to
345 /// contextualize the event. Use this event to discover the most popular items viewed in your app.
346 /// Note: If you supply the @c kFIRParameterValue parameter, you must also supply the
347 /// @c kFIRParameterCurrency parameter so that revenue metrics can be computed accurately.
351 /// <li>@c kFIRParameterItemID (NSString)</li>
352 /// <li>@c kFIRParameterItemName (NSString)</li>
353 /// <li>@c kFIRParameterItemCategory (NSString)</li>
354 /// <li>@c kFIRParameterItemLocationID (NSString) (optional)</li>
355 /// <li>@c kFIRParameterPrice (double as NSNumber) (optional)</li>
356 /// <li>@c kFIRParameterQuantity (signed 64-bit integer as NSNumber) (optional)</li>
357 /// <li>@c kFIRParameterCurrency (NSString) (optional)</li>
358 /// <li>@c kFIRParameterValue (double as NSNumber) (optional)</li>
359 /// <li>@c kFIRParameterStartDate (NSString) (optional)</li>
360 /// <li>@c kFIRParameterEndDate (NSString) (optional)</li>
361 /// <li>@c kFIRParameterFlightNumber (NSString) (optional) for travel bookings</li>
362 /// <li>@c kFIRParameterNumberOfPassengers (signed 64-bit integer as NSNumber) (optional)
363 /// for travel bookings</li>
364 /// <li>@c kFIRParameterNumberOfNights (signed 64-bit integer as NSNumber) (optional) for
365 /// travel bookings</li>
366 /// <li>@c kFIRParameterNumberOfRooms (signed 64-bit integer as NSNumber) (optional) for
367 /// travel bookings</li>
368 /// <li>@c kFIRParameterOrigin (NSString) (optional)</li>
369 /// <li>@c kFIRParameterDestination (NSString) (optional)</li>
370 /// <li>@c kFIRParameterSearchTerm (NSString) (optional) for travel bookings</li>
371 /// <li>@c kFIRParameterTravelClass (NSString) (optional) for travel bookings</li>
373 static NSString *const kFIREventViewItem NS_SWIFT_NAME(AnalyticsEventViewItem) = @"view_item";
375 /// View Item List event. Log this event when the user has been presented with a list of items of a
376 /// certain category. Params:
379 /// <li>@c kFIRParameterItemCategory (NSString)</li>
381 static NSString *const kFIREventViewItemList NS_SWIFT_NAME(AnalyticsEventViewItemList) =
384 /// View Search Results event. Log this event when the user has been presented with the results of a
388 /// <li>@c kFIRParameterSearchTerm (NSString)</li>
390 static NSString *const kFIREventViewSearchResults NS_SWIFT_NAME(AnalyticsEventViewSearchResults) =
391 @"view_search_results";
393 /// Level Start event. Log this event when the user starts a new level. Params:
396 /// <li>@c kFIRParameterLevelName (NSString)</li>
398 static NSString *const kFIREventLevelStart NS_SWIFT_NAME(AnalyticsEventLevelStart) =
401 /// Level End event. Log this event when the user finishes a level. Params:
404 /// <li>@c kFIRParameterLevelName (NSString)</li>
405 /// <li>@c kFIRParameterSuccess (NSString)</li>
407 static NSString *const kFIREventLevelEnd NS_SWIFT_NAME(AnalyticsEventLevelEnd) = @"level_end";