Skip to content

Commit

Permalink
fix(widget-fb-pixel): save order id sent to prevent duplicated purchase
Browse files Browse the repository at this point in the history
  • Loading branch information
leomp12 committed May 11, 2022
1 parent dabbc5f commit 2b7a09f
Showing 1 changed file with 28 additions and 25 deletions.
53 changes: 28 additions & 25 deletions @ecomplus/widget-fb-pixel/src/lib/watch-app-routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,34 +46,37 @@ export default (fbq, options) => {

const emitPurchase = (orderId, orderJson) => {
if (!isPurchaseSent && options.disablePurchase !== true) {
let order
if (orderJson) {
try {
order = JSON.parse(orderJson)
} catch (e) {
order = null
if (window.localStorage.getItem('fbq.orderIdSent') !== orderId) {
let order
if (orderJson) {
try {
order = JSON.parse(orderJson)
} catch (e) {
order = null
}
}
let eventID
if (order && order.number) {
eventID = `${order.number}:r${parseInt(Math.random() * 1000, 10)}`
} else {
eventID = orderId
}
fbq('Purchase', {
...getPurchaseData(order),
order_id: orderId,
eventID
})
ecomPassport.requestApi(`/orders/${orderId}/metafields.json`, 'POST', {
namespace: 'fb',
field: 'pixel',
value: JSON.stringify({
eventID,
userAgent: navigator.userAgent
})
})
window.localStorage.setItem('fbq.orderIdSent', orderId)
}
let eventID
if (order && order.number) {
eventID = `${order.number}:r${parseInt(Math.random() * 1000, 10)}`
} else {
eventID = orderId
}
fbq('Purchase', {
...getPurchaseData(order),
order_id: orderId,
eventID
})
isPurchaseSent = true
ecomPassport.requestApi(`/orders/${orderId}/metafields.json`, 'POST', {
namespace: 'fb',
field: 'pixel',
value: JSON.stringify({
eventID,
userAgent: navigator.userAgent
})
})
}
}

Expand Down

0 comments on commit 2b7a09f

Please sign in to comment.