Reinstate amplitude analytics

This commit is contained in:
Blade Barringer
2015-10-27 19:37:57 -05:00
parent 68689d1a05
commit a7c52e6086
5 changed files with 28 additions and 17 deletions

View File

@@ -5,7 +5,7 @@
"main": "./website/src/server.js", "main": "./website/src/server.js",
"dependencies": { "dependencies": {
"amazon-payments": "0.0.4", "amazon-payments": "0.0.4",
"amplitude": "^1.0.6", "amplitude": "^2.0.1",
"async": "~0.9.0", "async": "~0.9.0",
"aws-sdk": "^2.0.25", "aws-sdk": "^2.0.25",
"babel": "^5.5.4", "babel": "^5.5.4",

View File

@@ -8,7 +8,9 @@ describe('analytics', function() {
// Mocks // Mocks
var amplitudeMock = sinon.stub(); var amplitudeMock = sinon.stub();
var googleAnalyticsMock = sinon.stub(); var googleAnalyticsMock = sinon.stub();
var amplitudeTrack = sinon.stub(); var amplitudeTrack = sinon.stub().returns({
catch: function () { return true; }
});
var googleEvent = sinon.stub().returns({ var googleEvent = sinon.stub().returns({
send: function() { } send: function() { }
}); });

View File

@@ -24,14 +24,16 @@ function init(options) {
} }
function track(eventType, data) { function track(eventType, data) {
//_sendDataToAmplitude(eventType, data); _sendDataToAmplitude(eventType, data);
_sendDataToGoogle(eventType, data); _sendDataToGoogle(eventType, data);
} }
function _sendDataToAmplitude(eventType, data) { function _sendDataToAmplitude(eventType, data) {
var amplitudeData = _formatDataForAmplitude(data); var amplitudeData = _formatDataForAmplitude(data);
amplitudeData.event_type = eventType; amplitudeData.event_type = eventType;
amplitude.track(amplitudeData); amplitude.track(amplitudeData).catch(function(error) {
// @TODO log error with new relic
});
} }
function _sendDataToGoogle(eventType, data) { function _sendDataToGoogle(eventType, data) {
@@ -78,7 +80,7 @@ function _generateValueForGoogleAnalytics(data) {
} }
function trackPurchase(data) { function trackPurchase(data) {
//_sendPurchaseDataToAmplitude(data); _sendPurchaseDataToAmplitude(data);
_sendPurchaseDataToGoogle(data); _sendPurchaseDataToGoogle(data);
} }
@@ -87,7 +89,9 @@ function _sendPurchaseDataToAmplitude(data) {
amplitudeData.event_type = 'purchase'; amplitudeData.event_type = 'purchase';
amplitudeData.revenue = data.purchaseValue; amplitudeData.revenue = data.purchaseValue;
amplitude.track(amplitudeData) amplitude.track(amplitudeData).catch(function(error) {
// @TODO log error with new relic
});
} }
function _formatDataForAmplitude(data) { function _formatDataForAmplitude(data) {
@@ -95,7 +99,7 @@ function _formatDataForAmplitude(data) {
var event_properties = _.omit(data, PROPERTIES_TO_SCRUB); var event_properties = _.omit(data, PROPERTIES_TO_SCRUB);
var ampData = { var ampData = {
user_id: data.uuid, user_id: data.uuid || 'no-user-id-was-provided',
platform: 'server', platform: 'server',
event_properties: event_properties event_properties: event_properties
} }

View File

@@ -118,7 +118,8 @@ api.registerUser = function(req, res, next) {
var analyticsData = { var analyticsData = {
category: 'acquisition', category: 'acquisition',
type: 'local', type: 'local',
gaLabel: 'local' gaLabel: 'local',
uuid: user._id,
}; };
analytics.track('register', analyticsData) analytics.track('register', analyticsData)
@@ -212,7 +213,8 @@ api.loginSocial = function(req, res, next) {
var analyticsData = { var analyticsData = {
category: 'acquisition', category: 'acquisition',
type: network, type: network,
gaLabel: network gaLabel: network,
uuid: user._id,
}; };
analytics.track('register', analyticsData) analytics.track('register', analyticsData)
}] }]

View File

@@ -912,7 +912,8 @@ api.questAccept = function(req, res, next) {
owner: true, owner: true,
response: 'accept', response: 'accept',
gaLabel: 'accept', gaLabel: 'accept',
questName: key questName: key,
uuid: user._id,
}; };
analytics.track('quest',analyticsData); analytics.track('quest',analyticsData);
group.quest.members[m] = true; group.quest.members[m] = true;
@@ -958,7 +959,8 @@ api.questAccept = function(req, res, next) {
owner: false, owner: false,
response: 'accept', response: 'accept',
gaLabel: 'accept', gaLabel: 'accept',
questName: group.quest.key questName: group.quest.key,
uuid: user._id,
}; };
analytics.track('quest',analyticsData); analytics.track('quest',analyticsData);
group.quest.members[user._id] = true; group.quest.members[user._id] = true;
@@ -977,7 +979,8 @@ api.questReject = function(req, res, next) {
owner: false, owner: false,
response: 'reject', response: 'reject',
gaLabel: 'reject', gaLabel: 'reject',
questName: group.quest.key questName: group.quest.key,
uuid: user._id,
}; };
analytics.track('quest',analyticsData); analytics.track('quest',analyticsData);
group.quest.members[user._id] = false; group.quest.members[user._id] = false;