From c92cf58acb2af345b4ea118c6606b9beef1328ae Mon Sep 17 00:00:00 2001 From: Blade Barringer Date: Wed, 8 Jul 2015 08:11:27 -0500 Subject: [PATCH] Track purchases with analytics service --- website/src/controllers/payments/index.js | 32 ++++++++++++++++++----- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/website/src/controllers/payments/index.js b/website/src/controllers/payments/index.js index 8f1144cbcc..d9ce943250 100644 --- a/website/src/controllers/payments/index.js +++ b/website/src/controllers/payments/index.js @@ -74,9 +74,18 @@ exports.createSubscription = function(data, cb) { revealMysteryItems(recipient); if(isProduction) { if (!data.gift) utils.txnEmail(data.user, 'subscription-begins'); - utils.ga.event('commerce', 'subscribe', data.paymentMethod, block.price).send(); - utils.ga.transaction(data.user._id, block.price).item(block.price, 1, data.paymentMethod.toLowerCase() + '-subscription', data.paymentMethod).send(); - utils.mixpanel.track('purchase',{'distinct_id':data.user._id,'itemPurchased':block.key,'purchaseValue':block.price}) + + var analyticsData = { + uuid: data.user._id, + itemPurchased: 'Subscription', + sku: data.paymentMethod.toLowerCase() + '-subscription', + purchaseType: 'subscribe', + paymentMethod: data.paymentMethod, + quantity: 1, + gift: !!data.gift, // coerced into a boolean + purchaseValue: block.price + } + utils.analytics.trackPurchase(analyticsData); } data.user.purchased.txnCount++; if (data.gift){ @@ -127,11 +136,20 @@ exports.buyGems = function(data, cb) { data.user.purchased.txnCount++; if(isProduction) { if (!data.gift) utils.txnEmail(data.user, 'donation'); - utils.ga.event('commerce', 'checkout', data.paymentMethod, amt).send(); - utils.mixpanel.track('purchase',{'distinct_id':data.user._id,'itemPurchased':'Gems','purchaseValue':amt}) - //TODO ga.transaction to reflect whether this is gift or self-purchase - utils.ga.transaction(data.user._id, amt).item(amt, 1, data.paymentMethod.toLowerCase() + "-checkout", "Gems > " + data.paymentMethod).send(); + + var analyticsData = { + uuid: data.user._id, + itemPurchased: 'Gems', + sku: data.paymentMethod.toLowerCase() + '-checkout', + purchaseType: 'checkout', + paymentMethod: data.paymentMethod, + quantity: 1, + gift: !!data.gift, // coerced into a boolean + purchaseValue: amt + } + utils.analytics.trackPurchase(analyticsData); } + if (data.gift){ var byUsername = utils.getUserInfo(data.user, ['name']).name; var gemAmount = data.gift.gems.amount || 20;