Skip to content

Commit

Permalink
Merge pull request #202 from spring-media/TRAC-1750_organic_search_brand
Browse files Browse the repository at this point in the history
added event209 Search Brand when search landed at homepage
  • Loading branch information
nickyanalytics authored Jan 30, 2024
2 parents ef09687 + 183a90f commit 82dbd4b
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 4 deletions.
15 changes: 12 additions & 3 deletions extensions/doPlugins_global.js
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,11 @@ s._utils = {
|| (!!window.utag.data.page_document_type && window.utag.data.page_document_type.indexOf('adwall') !== -1));
},

isHomepage: function () {
return (!!window.utag.data['page_id']&& (window.utag.data['page_id'] === '22P2NufXQ03Ny17A6vwi'|| window.utag.data['page_id'] === 'wDmWJyqHFeqhJHmeuqfN')
|| (this.getDocType === 'home'));
},

isArticlePage: function () {
const ARTICLE_TYPES = [
'article',
Expand Down Expand Up @@ -366,13 +371,17 @@ s._articleViewTypeObj = {
getExternalType: function (referrer) {
const referringDomain = s._utils.getDomainFromURLString(referrer);
const isSessionStart = s._utils.isSessionStart();
const isHomepage = s._utils.isHomepage();
let pageViewEvent;
let channel;

if (this.isFromSearch(referringDomain)) {
if (this.isFromSearch(referringDomain) && isHomepage) {
pageViewEvent = 'event24,event209';
channel = 'Organic Search Brand';
} else if (this.isFromSearch(referringDomain)) {
pageViewEvent = 'event24,event210';
channel = 'Organic Search Non-Brand';
} else if (this.isFromSocial(referrer)) {
channel = 'Organic Search Non-Brand';
}else if (this.isFromSocial(referrer)) {
pageViewEvent = 'event25,event220';
channel = 'Social';
} else if (this.isFromBild(referringDomain) && this.isFromHome(referrer)) {
Expand Down
14 changes: 13 additions & 1 deletion tests/doplugins/doplugins_article_view_type.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -567,6 +567,7 @@ describe('articleViewType()', () => {
let isDirectMock;
let isSessionStartMock;
let isNavigatedMock;
let isHomepageMock;

beforeEach(() => {
jest.spyOn(s._utils, 'getDomainFromURLString').mockReturnValue(anyReferrerDomain);
Expand All @@ -581,12 +582,23 @@ describe('articleViewType()', () => {
isDirectMock = jest.spyOn(s._articleViewTypeObj, 'isDirect').mockReturnValue(false);
isSessionStartMock = jest.spyOn(s._utils, 'isSessionStart').mockReturnValue(false);
isNavigatedMock = jest.spyOn(s._articleViewTypeObj, 'isNavigated').mockReturnValue(false);
isHomepageMock = jest.spyOn(s._utils, 'isHomepage').mockReturnValue(false);

});

it('should return event24, event209 if referrer is from search engine and page is Homepage', function () {
isFromSearchMock.mockReturnValue(true);
isHomepageMock.mockReturnValue(true);
const result = s._articleViewTypeObj.getExternalType(anyReferrer);
//expect(isFromSearchMock).toHaveBeenCalledWith(anyReferrerDomain);
expect(result.pageViewEvent).toBe('event24,event209');
});

it('should return event24 if referrer is from search engine', function () {
isFromSearchMock.mockReturnValue(true);
isHomepageMock.mockReturnValue(false);
const result = s._articleViewTypeObj.getExternalType(anyReferrer);
expect(isFromSearchMock).toHaveBeenCalledWith(anyReferrerDomain);
//expect(isFromSearchMock).toHaveBeenCalledWith(anyReferrerDomain);
expect(result.pageViewEvent).toBe('event24,event210');
});

Expand Down

0 comments on commit 82dbd4b

Please sign in to comment.