","showSummary":null,"url":"/nestle-investigates-child-labor-supply-chain","date":"2003-01-01T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":"Root","lastName":"Man","bio":null,"title":null,"picture":null,"phone":null,"contactForm":true},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":null,"topics":[{"name":"Supply Chain Management","url":"/supply-chain-management"},{"name":"Manufacturing","url":"/manufacturing"}],"attachedFiles":[]},{"title":"Campbell Appoints SVP, General Counsel","id":16217,"bundle":"article","summary":"The executive will be responsible for Campbells legal, corporate secretary and government relations activities and will be a member of the Campbell Leadership Team. ","showSummary":null,"url":"/campbell-appoints-svp-general-counsel","date":"2003-01-01T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":"Root","lastName":"Man","bio":null,"title":null,"picture":null,"phone":null,"contactForm":true},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":null,"topics":[{"name":"Manufacturing","url":"/manufacturing"},{"name":"IT Integration","url":"/it-integration"}],"attachedFiles":[]},{"title":"ConAgra Announces New CEO","id":16221,"bundle":"article","summary":"Sean M. Connolly has been announced as ConAgra Foods new CEO, replacing current CEO Gary M. Rodkin, effective April 6. Rodkin had announced his impending retirement, which will take place at the end of ConAgra Foods' fiscal year, May 31, 2015.","showSummary":null,"url":"/conagra-announces-new-ceo","date":"2003-01-01T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":"Root","lastName":"Man","bio":null,"title":null,"picture":null,"phone":null,"contactForm":true},"digitalEdition":null,"sponsored":false,"taggedPro":null,"teaserImage":{"id":12470,"url":"https://assets1.consumergoods.com/styles/secondary_articles_short/s3/ConAgra_cgt_02-15-15.jpg?itok=ts3Lv-b6","width":190,"height":216,"alt":null},"topics":[{"name":"Manufacturing","url":"/manufacturing"}],"attachedFiles":[]}]},"title":"Manufacturing","contentParagraphs":null,"sections":null}; const country = "US"; const language = null; const SITE_LANGUAGE = "en"; const siteName = "Consumer Goods Technology"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "CG"; const title = "Manufacturing | Consumer Goods Technology"; window.dataLayer = window.dataLayer || []; const data = {}; data.entityTaxonomy = {}; const contentTypes = [ "article", "blog", "bulletin", "embed_page", "landing_page", "event", "image", "page", "product", "whitepaper", "video", "tags", "author_profile", "buyers_guide_listing" ]; if ( routeInfo && "bundle" in routeInfo && contentTypes.includes(routeInfo["bundle"]) ) { data.entityBundle = routeInfo.bundle; data.entityTitle = title || `${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 taxonomy 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); } })();