Skip to content

Commit a7e2fb2

Browse files
committed
Generate latest bundle
1 parent 88ed7be commit a7e2fb2

File tree

2 files changed

+46
-16
lines changed

2 files changed

+46
-16
lines changed

dist/FacebookEventForwarder.common.js

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ function isObject(val) {
3636
PageEvent: 4,
3737
CrashReport: 5,
3838
OptOut: 6,
39-
Commerce: 16
39+
Commerce: 16,
4040
},
4141
IdentityType = {
4242
Other: 0,
@@ -62,6 +62,14 @@ function isObject(val) {
6262
PhoneNumber3: 21,
6363
},
6464
SupportedCommerceTypes = [],
65+
// Standard FB Event Names from https://developers.facebook.com/docs/facebook-pixel/reference#standard-events
66+
ADD_TO_CART_EVENT_NAME = 'AddToCart';
67+
ADD_TO_WISHLIST_EVENT_NAME = 'AddToWishlist';
68+
CHECKOUT_EVENT_NAME = 'InitiateCheckout';
69+
PAGE_VIEW_EVENT_NAME = 'PageView';
70+
PURCHASE_EVENT_NAME = 'Purchase';
71+
REMOVE_FROM_CART_EVENT_NAME = 'RemoveFromCart';
72+
VIEW_CONTENT_EVENT_NAME = 'ViewContent';
6573
constructor = function () {
6674
var self = this,
6775
isInitialized = false,
@@ -103,9 +111,15 @@ function isObject(val) {
103111
visitorData['external_id'] = selectedIdentity[0].Identity;
104112
}
105113
}
114+
}
106115

107-
fbq('init', settings.pixelId, visitorData);
116+
if (settings.disablePushState === 'True') {
117+
// Facebook will automatically track page views whenever a new state is pushed to the HTML 5 History State API
118+
// this option can be disabled to prevent duplicate page views
119+
// https://developers.facebook.com/docs/facebook-pixel/implementation/tag_spa/#tagging-single-page-applications
120+
fbq.disablePushState = true;
108121
}
122+
fbq('init', settings.pixelId, visitorData);
109123

110124
isInitialized = true;
111125

@@ -200,20 +214,20 @@ function isObject(val) {
200214
params['value'] = totalValue;
201215

202216
if (event.ProductAction.ProductActionType == mParticle.ProductActionType.AddToWishlist){
203-
eventName = 'AddToWishlist';
217+
eventName = ADD_TO_WISHLIST_EVENT_NAME;
204218
}
205219
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.AddToCart){
206-
eventName = 'AddToCart';
220+
eventName = ADD_TO_CART_EVENT_NAME;
207221
}
208222
else{
209-
eventName = 'ViewContent';
223+
eventName = VIEW_CONTENT_EVENT_NAME;
210224
}
211225

212226
}
213227
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ||
214228
event.ProductAction.ProductActionType == mParticle.ProductActionType.Purchase) {
215229

216-
eventName = event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ? 'InitiateCheckout' : 'Purchase';
230+
eventName = event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ? CHECKOUT_EVENT_NAME : PURCHASE_EVENT_NAME;
217231

218232
if (event.ProductAction.TotalAmount) {
219233
params['value'] = event.ProductAction.TotalAmount;
@@ -228,7 +242,7 @@ function isObject(val) {
228242
params['num_items'] = num_items;
229243
}
230244
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.RemoveFromCart) {
231-
eventName = 'RemoveFromCart';
245+
eventName = REMOVE_FROM_CART_EVENT_NAME;
232246

233247
// remove from cart can be performed in 1 of 2 ways:
234248
// 1. mParticle.eCommerce.logProductEvent(), which contains event.ProductAction.TotalAmount
@@ -265,7 +279,7 @@ function isObject(val) {
265279
}
266280

267281
function logPageView(event) {
268-
logPageEvent(event, 'Viewed ' + event.EventName);
282+
logPageEvent(event, PAGE_VIEW_EVENT_NAME);
269283
}
270284

271285
function logPageEvent(event, eventName) {
@@ -276,6 +290,7 @@ function isObject(val) {
276290
if (event.EventName) {
277291
params['content_name'] = event.EventName;
278292
}
293+
279294
fbq('trackCustom', eventName || 'customEvent', params, eventID);
280295
}
281296

dist/FacebookEventForwarder.iife.js

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ var mpFacebookKit = (function (exports) {
3535
PageEvent: 4,
3636
CrashReport: 5,
3737
OptOut: 6,
38-
Commerce: 16
38+
Commerce: 16,
3939
},
4040
IdentityType = {
4141
Other: 0,
@@ -61,6 +61,14 @@ var mpFacebookKit = (function (exports) {
6161
PhoneNumber3: 21,
6262
},
6363
SupportedCommerceTypes = [],
64+
// Standard FB Event Names from https://developers.facebook.com/docs/facebook-pixel/reference#standard-events
65+
ADD_TO_CART_EVENT_NAME = 'AddToCart';
66+
ADD_TO_WISHLIST_EVENT_NAME = 'AddToWishlist';
67+
CHECKOUT_EVENT_NAME = 'InitiateCheckout';
68+
PAGE_VIEW_EVENT_NAME = 'PageView';
69+
PURCHASE_EVENT_NAME = 'Purchase';
70+
REMOVE_FROM_CART_EVENT_NAME = 'RemoveFromCart';
71+
VIEW_CONTENT_EVENT_NAME = 'ViewContent';
6472
constructor = function () {
6573
var self = this,
6674
isInitialized = false,
@@ -102,9 +110,15 @@ var mpFacebookKit = (function (exports) {
102110
visitorData['external_id'] = selectedIdentity[0].Identity;
103111
}
104112
}
113+
}
105114

106-
fbq('init', settings.pixelId, visitorData);
115+
if (settings.disablePushState === 'True') {
116+
// Facebook will automatically track page views whenever a new state is pushed to the HTML 5 History State API
117+
// this option can be disabled to prevent duplicate page views
118+
// https://developers.facebook.com/docs/facebook-pixel/implementation/tag_spa/#tagging-single-page-applications
119+
fbq.disablePushState = true;
107120
}
121+
fbq('init', settings.pixelId, visitorData);
108122

109123
isInitialized = true;
110124

@@ -199,20 +213,20 @@ var mpFacebookKit = (function (exports) {
199213
params['value'] = totalValue;
200214

201215
if (event.ProductAction.ProductActionType == mParticle.ProductActionType.AddToWishlist){
202-
eventName = 'AddToWishlist';
216+
eventName = ADD_TO_WISHLIST_EVENT_NAME;
203217
}
204218
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.AddToCart){
205-
eventName = 'AddToCart';
219+
eventName = ADD_TO_CART_EVENT_NAME;
206220
}
207221
else{
208-
eventName = 'ViewContent';
222+
eventName = VIEW_CONTENT_EVENT_NAME;
209223
}
210224

211225
}
212226
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ||
213227
event.ProductAction.ProductActionType == mParticle.ProductActionType.Purchase) {
214228

215-
eventName = event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ? 'InitiateCheckout' : 'Purchase';
229+
eventName = event.ProductAction.ProductActionType == mParticle.ProductActionType.Checkout ? CHECKOUT_EVENT_NAME : PURCHASE_EVENT_NAME;
216230

217231
if (event.ProductAction.TotalAmount) {
218232
params['value'] = event.ProductAction.TotalAmount;
@@ -227,7 +241,7 @@ var mpFacebookKit = (function (exports) {
227241
params['num_items'] = num_items;
228242
}
229243
else if (event.ProductAction.ProductActionType == mParticle.ProductActionType.RemoveFromCart) {
230-
eventName = 'RemoveFromCart';
244+
eventName = REMOVE_FROM_CART_EVENT_NAME;
231245

232246
// remove from cart can be performed in 1 of 2 ways:
233247
// 1. mParticle.eCommerce.logProductEvent(), which contains event.ProductAction.TotalAmount
@@ -264,7 +278,7 @@ var mpFacebookKit = (function (exports) {
264278
}
265279

266280
function logPageView(event) {
267-
logPageEvent(event, 'Viewed ' + event.EventName);
281+
logPageEvent(event, PAGE_VIEW_EVENT_NAME);
268282
}
269283

270284
function logPageEvent(event, eventName) {
@@ -275,6 +289,7 @@ var mpFacebookKit = (function (exports) {
275289
if (event.EventName) {
276290
params['content_name'] = event.EventName;
277291
}
292+
278293
fbq('trackCustom', eventName || 'customEvent', params, eventID);
279294
}
280295

0 commit comments

Comments
 (0)