cartodb-4.42/lib/assets/javascripts/cartodb/old_common/metrics.js

105 lines
2.9 KiB
JavaScript
Raw Normal View History

2024-04-06 13:25:13 +08:00
/**
* Metrics class for CartoDB
*
* - Track user events in CartoDB.
* - When an event is launched, you can use our God to
* save the action (cdb.god.trigger('metrics', '{{ metric_name }}', { email: {{ email }}, data: {{ data }} });).
*
* new cdb.admin.Metrics();
*/
cdb.admin.Metrics = cdb.core.Model.extend({
initialize: function(opts) {
this.bindEvents();
},
bindEvents: function() {
cdb.god.bind("metrics", this._setTrack, this);
},
_setTrack: function(name, obj) {
// HubSpot tracking
if (window.hubspot_token) {
window._hsq = window._hsq || [];
window._hsq.push(['identify', {
email: obj.email
}]);
var event_id;
switch(name) {
case 'published_visualization':
event_id = window.hubspot_ids.published_visualization
break;
case 'visited_dashboard':
event_id = window.hubspot_ids.visited_dashboard
break;
case 'connect_dataset':
event_id = window.hubspot_ids.connect_dataset
break;
case 'create_map':
event_id = window.hubspot_ids.create_map
break;
case 'export_table':
event_id = window.hubspot_ids.export_table
break;
case 'export_map':
event_id = window.hubspot_ids.export_map;
break;
case 'select_wms':
event_id = window.hubspot_ids.select_wms
break;
case 'color_basemap':
event_id = window.hubspot_ids.color_basemap
break;
case 'pattern_basemap':
event_id = window.hubspot_ids.pattern_basemap
break;
case 'geocoding':
event_id = window.hubspot_ids.geocoding
break;
case 'visual_merge':
event_id = window.hubspot_ids.visual_merge
break;
case 'common_data':
event_id = window.hubspot_ids.common_data
break;
case 'cartocss_manually':
event_id = window.hubspot_ids.cartocss_manually
break;
case 'wizard':
event_id = window.hubspot_ids.wizard
break;
case 'filter':
event_id = window.hubspot_ids.filter
break;
case 'query':
event_id = window.hubspot_ids.query
break;
case 'logged_in':
event_id = window.hubspot_ids.logged_in
break;
case 'visited_dashboard_first_time':
event_id = window.hubspot_ids.visited_dashboard_first_time
break;
case 'applied_pecan':
event_id = window.hubspot_ids.applied_pecan
break;
case 'open_pecan_list':
event_id = window.hubspot_ids.open_pecan_list
break;
}
window._hsq.push(['trackEvent', {
id: event_id
}]);
}
}
});