-
Supply Chain Report 2017: State of Automation
Digitization is not digitalization.
It’s no secret that consumer goods companies must drastically change the way they do business in order to compete — and the pace of change needs to happen faster than ever before. In 2014, consumer goods executives must often jump head first into new initiatives — like big data, digital marketing and omnichannel selling — without much of a safety net to protect their brands, businesses or investments. That’s the exciting, yet challenging, world we live and work in today.
But, what about five or 10 years from now? How can consumer goods companies best prepare themselves to stay in front of future trends, many of which are just educated guesses at this point? In the 2014 Review & Outlook Report, we asked 75 of the industry’s brightest minds — each of whom is driving change in the consumer goods industry in his or her own right — to look into their crystal ball and tell us: What one initiative must consumer goods companies pursue now in order to compete and grow in the year 2020?","alternateLabel":null,"teaserImage":{"id":1781,"url":"https://assets1.consumergoods.com/styles/secondary_articles_short/s3/CGW_0314_ReviewOutlook_180x180.jpg?itok=zQEukLzh","width":180,"alt":null,"height":180},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]},{"title":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem ","id":10277,"bundle":"whitepaper","url":"/harnessing-power-closed-loop-consumer-products-mobility-ecosystem","date":"2014-01-15T00:00:00","author":{"email":"devteam@ashday.com","uname":"ash_root","firstName":"Root","lastName":"Man","bio":null,"title":null,"picture":null,"phone":null,"contactForm":true},"summary":"Discover how to integrate the standalone functionality of Retail Execution with Business Intelligence and Trade Promotion Management to provide your company with a comprehensive and unmatched sales solution.
","body":"In a rapidly-evolving, technology-based world, little moves faster than mobility itself. The pace of development of handheld devices, mobile operating systems and wireless networks has up-ended the normal lifecycle of enterprise applications. Discover how companies can map out a mobility strategy in the midst of a technology battle raging on shifting terrain.
","alternateLabel":null,"teaserImage":{"id":1755,"url":"https://assets1.consumergoods.com/styles/secondary_articles_short/s3/Harnessing_the_Power_CGT_teaser.jpg?itok=QUU89Ftg","width":100,"alt":null,"height":129},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]}]},"title":"Sales Force Automation","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 = "Sales Force Automation | 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",
];
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 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);
}
})();