Generate defalut GA tracking campaign name on load
[MAILPOET-2398]
This commit is contained in:
committed by
Jack Kitterhing
parent
6c9e667237
commit
e10e2bee56
@@ -13,6 +13,14 @@ import Hooks from 'wp-js-hooks';
|
|||||||
import PropTypes from 'prop-types';
|
import PropTypes from 'prop-types';
|
||||||
import { withRouter } from 'react-router-dom';
|
import { withRouter } from 'react-router-dom';
|
||||||
import ReactStringReplace from 'react-string-replace';
|
import ReactStringReplace from 'react-string-replace';
|
||||||
|
import slugify from 'slugify';
|
||||||
|
|
||||||
|
const generateGaTrackingCampaignName = (id, subject) => {
|
||||||
|
const name = slugify(subject, { lower: true })
|
||||||
|
.replace(/[^a-z0-9]+/g, '-')
|
||||||
|
.replace(/-$/, '');
|
||||||
|
return `${name || 'newsletter'}_${id}`;
|
||||||
|
};
|
||||||
|
|
||||||
class NewsletterSend extends React.Component {
|
class NewsletterSend extends React.Component {
|
||||||
static displayName = 'NewsletterSend';
|
static displayName = 'NewsletterSend';
|
||||||
@@ -127,6 +135,10 @@ class NewsletterSend extends React.Component {
|
|||||||
},
|
},
|
||||||
}).done((response) => {
|
}).done((response) => {
|
||||||
const thumbnailPromise = response.data.status === 'draft' ? this.getThumbnailPromise(response.meta.preview_url) : null;
|
const thumbnailPromise = response.data.status === 'draft' ? this.getThumbnailPromise(response.meta.preview_url) : null;
|
||||||
|
const item = response.data;
|
||||||
|
if (!item.ga_campaign) {
|
||||||
|
item.ga_campaign = generateGaTrackingCampaignName(item.id, item.subject);
|
||||||
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
item: response.data,
|
item: response.data,
|
||||||
fields: this.getFieldsByNewsletter(response.data),
|
fields: this.getFieldsByNewsletter(response.data),
|
||||||
|
Reference in New Issue
Block a user