\r\n","showSummary":null,"url":"/elevating-retailers-bottom-line-analytics","date":"2017-01-13T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":42580,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/shopping.jpg?itok=eeT7YCr8","width":190,"height":216,"alt":""},"topics":[{"name":"Business Intelligence (BI)","url":"/business-intelligence"},{"name":"Data Center","url":"/data-center"},{"name":"Data Synchronization","url":"/data-synchronization"},{"name":"Data Warehousing","url":"/data-warehousing"},{"name":"Data Management","url":"/data-management"},{"name":"Inventory Management","url":"/inventory-management"},{"name":"Radio Frequency Identification (RFID)","url":"/radio-frequency-identification-rfid"},{"name":"Web Analytics","url":"/web-analytics"},{"name":"Big Data","url":"/big-data"},{"name":"Unstructured Data","url":"/unstructured-data"},{"name":"Customer Experience","url":"/customer-experience"},{"name":"In-Store Data Tracking","url":"/in-store-data-tracking"}],"attachedFiles":[]},{"title":"Nordstrom Adds Chief Innovation Officer","id":5887,"bundle":"article","summary":"Nordstrom, Inc. has created a new executive team role, Chief Innovation Officer, and named a long-time company leader to the position. ","showSummary":null,"url":"/nordstrom-adds-chief-innovation-officer","date":"2017-01-12T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":42576,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/235c101.jpg?itok=e5TYjNti","width":190,"height":216,"alt":null},"topics":[{"name":"Business Intelligence (BI)","url":"/business-intelligence"},{"name":"Data Center","url":"/data-center"},{"name":"Web Analytics","url":"/web-analytics"},{"name":"Big Data","url":"/big-data"},{"name":"Unstructured Data","url":"/unstructured-data"}],"attachedFiles":[]},{"title":"Cisco IoT Leader Leaves For Microsoft","id":5902,"bundle":"article","summary":"Find out what Cisco's VP of its Internet of Everything Vertical Solutions Engineering organization will be doing now. ","showSummary":null,"url":"/cisco-iot-leader-leaves-microsoft","date":"2017-01-05T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":42558,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/IOT.jpg?itok=njjz0N0W","width":300,"height":180,"alt":null},"topics":[{"name":"Cloud Computing","url":"/cloud-computing"},{"name":"Data Center","url":"/data-center"},{"name":"Data Synchronization","url":"/data-synchronization"},{"name":"Data Warehousing","url":"/data-warehousing"},{"name":"Merchandise Management","url":"/merchandise-management"},{"name":"Mobile Apps","url":"/mobile-apps"},{"name":"Big Data","url":"/big-data"},{"name":"Unstructured Data","url":"/unstructured-data"},{"name":"Internet of Things (IoT)","url":"/internet-of-things"}],"attachedFiles":[]},{"title":"5 Steps to Stress-Free Customer Analytics","id":1282,"bundle":"whitepaper","url":"/5-steps-stress-free-customer-analytics","date":"2016-09-14T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":null,"lastName":null,"bio":null,"title":null,"picture":null,"phone":null,"contactForm":null},"summary":"Have you seen the newest capabilities in customer analytics? Learn how to develop actionable points of view instead of just analyzing data points.","body":"Imagine a customer analytics tool where the whole team can join in. If marketing identifies an issue, they can notify merchandising, and turn it over to IT for root cause resolution in real time. In a new world of collaboration, everyone is empowered to optimize the end user’s experience.","alternateLabel":null,"teaserImage":{"id":24156,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/ris_IBM_ewp_9-14-16_teaser.jpg?itok=STgZwM4c","width":196,"alt":null,"height":216},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]}]},"title":"Unstructured Data"}; const country = "HK"; const language = "en, *"; const SITE_LANGUAGE = "en"; const siteName = "RIS News"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "risnews"; window.dataLayer = window.dataLayer || []; const data = {}; data.entityTaxonomy = {}; const contentTypes = [ "article", "blog", "bulletin", "embed_page", "landing_page", "event", "image", "page", "product", "whitepaper", "video", "tags", ]; if ( routeInfo && "bundle" in routeInfo && contentTypes.includes(routeInfo["bundle"]) ) { data.entityBundle = routeInfo.bundle; data.entityTitle = `${routeInfo.title} | ${siteName}`; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.entityType = "node"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.entityTaxonomyKeys = {}; data.entityTaxonomyHierarchies = {}; data.parentNaicsCode = {}; data.isPro = false; data.algoliaIndexName = indexName; // Add toxonomy data const taxonomies = { businessTopic: "business_topic", contentType: "content_type", company: "company", marketSegment: "market_segment", }; const getHierarchy = (term, terms = []) => { terms.push({ id: term.id, name: term.name }); if (term.parentTerm != null) { getHierarchy(term.parentTerm, terms); } return terms; }; const getTerms = (term, useApiId = false) => { return { id: useApiId ? term.apiId : term.id, name: term.name }; }; const getKeys = (term) => { return { id: term.id, name: term.apiId }; }; Object.entries(taxonomies).forEach(([key, item]) => { terms = routeInfo[key]; if (terms && terms.length > 0) { data["entityTaxonomy"][item] = terms.map((term) => getTerms(term, key === "company") ); if (key !== "company") { data["entityTaxonomyKeys"][item] = terms.map(getKeys); termGroups = []; terms.forEach((term, termInd) => { termGroups[termInd] = getHierarchy(term); }); data["entityTaxonomyHierarchies"][item] = termGroups; } } }); data["entityTaxonomy"]["tags"] = routeInfo["topics"] || []; // Primary Topic is either the business topic or the top tag. if (routeInfo["businessTopic"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["businessTopic"][0]["name"]; } else { if (routeInfo["topics"]?.length > 0) { data["entityPrimaryTopic"] = routeInfo["topics"][0]["name"]; } } // Primary and secondary entityNaicsCodes come from the MarketSegment if (routeInfo.marketSegment?.length > 0) { data.entityNaicsCode = {}; data["entityNaicsCode"]["id"] = routeInfo["marketSegment"][0]["id"]; data["entityNaicsCode"]["name"] = routeInfo["marketSegment"][0]["naicsCode"]; if (routeInfo["marketSegment"][0]["parentTerm"] != null) { data["parentNaicsCode"]["id"] = routeInfo["marketSegment"][0]["parentTerm"]["id"]; data["parentNaicsCode"]["name"] = routeInfo["marketSegment"][0]["parentTerm"]["naicsCode"]; } } else { data.entityNaicsCode = []; } if (routeInfo.taggedPro) { data.isPro = routeInfo.taggedPro; } window.dataLayer.push(data); } else if (routeInfo && "vid" in routeInfo) { data.entityBundle = "tags"; data.entityTitle = routeInfo.name; data.entityId = routeInfo.id; data.entityName = routeInfo.author?.uname; data.entityCreated = routeInfo.created; data.entityType = "taxonomy_term"; data.entityLangcode = SITE_LANGUAGE; data.siteName = siteName; data.sponsored = routeInfo.sponsored; data.sponsor = routeInfo.sponsoringCompany; data.drupalLanguage = language; data.drupalCountry = country; data.userRoles = userRoles; data.userUid = userUid; data.algoliaIndexName = indexName; data["entityTaxonomy"]["tags"] = { id: routeInfo["id"], name: routeInfo["name"], }; window.dataLayer.push(data); } })();