diff --git a/assets/js/src/newsletter_editor/components/save.js b/assets/js/src/newsletter_editor/components/save.js
index 3743460e39..0d6d170558 100644
--- a/assets/js/src/newsletter_editor/components/save.js
+++ b/assets/js/src/newsletter_editor/components/save.js
@@ -140,6 +140,9 @@ define([
);
FileSaver.saveAs(blob, 'template.json');
+ MailPoet.trackEvent('Editor > Template exported', {
+ 'MailPoet Free version': window.mailpoet_version
+ });
});
};
@@ -225,6 +228,9 @@ define([
scroll: true
}
);
+ MailPoet.trackEvent('Editor > Template saved', {
+ 'MailPoet Free version': window.mailpoet_version
+ });
}).fail(function() {
MailPoet.Notice.error(
MailPoet.I18n.t('templateSaveFailed'),
diff --git a/assets/js/src/newsletter_editor/components/sidebar.js b/assets/js/src/newsletter_editor/components/sidebar.js
index 839ce94417..6c31bb6fa6 100644
--- a/assets/js/src/newsletter_editor/components/sidebar.js
+++ b/assets/js/src/newsletter_editor/components/sidebar.js
@@ -285,6 +285,10 @@ define([
this.previewView = null;
}.bind(this)
});
+
+ MailPoet.trackEvent('Editor > Browser Preview', {
+ 'MailPoet Free version': window.mailpoet_version
+ });
}.bind(this)).fail(function(response) {
if (response.errors.length > 0) {
MailPoet.Notice.error(
@@ -326,7 +330,12 @@ define([
}).done(function(response) {
MailPoet.Notice.success(
MailPoet.I18n.t('newsletterPreviewSent'),
- { scroll: true });
+ { scroll: true }
+ );
+ MailPoet.trackEvent('Editor > Preview sent', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'Domain name': data.subscriber.substring(data.subscriber.indexOf('@') + 1)
+ });
}).fail(function(response) {
if (response.errors.length > 0) {
MailPoet.Notice.error(
diff --git a/assets/js/src/newsletters/listings/standard.jsx b/assets/js/src/newsletters/listings/standard.jsx
index 2e1267e742..79ab62e853 100644
--- a/assets/js/src/newsletters/listings/standard.jsx
+++ b/assets/js/src/newsletters/listings/standard.jsx
@@ -198,7 +198,14 @@ const NewsletterListStandard = React.createClass({
return (
- {MailPoet.I18n.t('pageTitle')} {MailPoet.I18n.t('new')}
+ {MailPoet.I18n.t('pageTitle')}
+ MailPoet.trackEvent('Emails > Add New',
+ { 'MailPoet Free version': window.mailpoet_version }
+ )}
+ >
+ {MailPoet.I18n.t('new')}
+
diff --git a/assets/js/src/newsletters/listings/tabs.jsx b/assets/js/src/newsletters/listings/tabs.jsx
index ec5a467280..8d0918c971 100644
--- a/assets/js/src/newsletters/listings/tabs.jsx
+++ b/assets/js/src/newsletters/listings/tabs.jsx
@@ -38,6 +38,9 @@ const ListingTabs = React.createClass({
key={ 'tab-'+index }
className={ tabClasses }
to={ tab.link }
+ onClick={() => MailPoet.trackEvent(`Tab Emails > ${tab.name} clicked`,
+ { 'MailPoet Free version': window.mailpoet_version }
+ )}
>{ tab.label }
);
});
diff --git a/assets/js/src/newsletters/send.jsx b/assets/js/src/newsletters/send.jsx
index 8de238acaf..b250cb875f 100644
--- a/assets/js/src/newsletters/send.jsx
+++ b/assets/js/src/newsletters/send.jsx
@@ -110,16 +110,25 @@ define(
}).done((response) => {
// redirect to listing based on newsletter type
this.context.router.push(`/${ this.state.item.type || '' }`);
-
+ const opts = this.state.item.options;
// display success message depending on newsletter type
if (response.data.type === 'welcome') {
MailPoet.Notice.success(
MailPoet.I18n.t('welcomeEmailActivated')
);
+ MailPoet.trackEvent('Emails > Welcome email activated', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'List type': opts.event,
+ 'Delay': opts.afterTimeNumber + ' ' + opts.afterTimeType,
+ });
} else if (response.data.type === 'notification') {
MailPoet.Notice.success(
MailPoet.I18n.t('postNotificationActivated')
);
+ MailPoet.trackEvent('Emails > Post notifications activated', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'Frequency': opts.intervalType,
+ });
}
}).fail(this._showError);
default:
@@ -138,10 +147,18 @@ define(
MailPoet.Notice.success(
MailPoet.I18n.t('newsletterHasBeenScheduled')
);
+ MailPoet.trackEvent('Emails > Newsletter sent', {
+ scheduled: true,
+ 'MailPoet Free version': window.mailpoet_version,
+ });
} else {
MailPoet.Notice.success(
MailPoet.I18n.t('newsletterBeingSent')
);
+ MailPoet.trackEvent('Emails > Newsletter sent', {
+ scheduled: false,
+ 'MailPoet Free version': window.mailpoet_version,
+ });
}
}).fail(this._showError);
}
diff --git a/assets/js/src/newsletters/templates.jsx b/assets/js/src/newsletters/templates.jsx
index 20b86acc0c..8cff23c44a 100644
--- a/assets/js/src/newsletters/templates.jsx
+++ b/assets/js/src/newsletters/templates.jsx
@@ -51,6 +51,7 @@ define(
if (_.size(this.refs.templateFile.files) <= 0) return false;
+
const file = _.first(this.refs.templateFile.files);
const reader = new FileReader();
const saveTemplate = this.saveTemplate;
@@ -58,6 +59,9 @@ define(
reader.onload = (e) => {
try {
saveTemplate(JSON.parse(e.target.result));
+ MailPoet.trackEvent('Emails > Template imported', {
+ 'MailPoet Free version': window.mailpoet_version,
+ });
} catch (err) {
MailPoet.Notice.error(MailPoet.I18n.t('templateFileMalformedError'));
}
@@ -143,6 +147,11 @@ define(
body = JSON.stringify(body);
}
+ MailPoet.trackEvent('Emails > Template selected', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'Email name': template.name,
+ });
+
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
diff --git a/assets/js/src/newsletters/types.jsx b/assets/js/src/newsletters/types.jsx
index 7a3a6332b2..1c5e23eacf 100644
--- a/assets/js/src/newsletters/types.jsx
+++ b/assets/js/src/newsletters/types.jsx
@@ -20,9 +20,17 @@ define(
setupNewsletter: function (type) {
if(type !== undefined) {
this.context.router.push(`/new/${type}`);
+ MailPoet.trackEvent('Emails > Type selected', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'Email type': type,
+ });
}
},
createNewsletter: function (type) {
+ MailPoet.trackEvent('Emails > Type selected', {
+ 'MailPoet Free version': window.mailpoet_version,
+ 'Email type': type,
+ });
MailPoet.Ajax.post({
api_version: window.mailpoet_api_version,
endpoint: 'newsletters',
diff --git a/tests/javascript/newsletter_editor/components/save.spec.js b/tests/javascript/newsletter_editor/components/save.spec.js
index aac73a6dbd..3bf3652550 100644
--- a/tests/javascript/newsletter_editor/components/save.spec.js
+++ b/tests/javascript/newsletter_editor/components/save.spec.js
@@ -157,7 +157,8 @@ define([
Notice: {
success: function() {},
error: function() {}
- }
+ },
+ trackEvent: function() {}
},
'newsletter_editor/App': EditorApplication,
'html2canvas': function() {