","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,"whitePaperDocument":"/secure-file/6515","metatags":{"title":{"#tag":"meta","#attributes":{"name":"title","content":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem | White Papers | Consumer Goods Technology"}},"description":{"#tag":"meta","#attributes":{"name":"description","content":"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."}},"abstract":{"#tag":"meta","#attributes":{"name":"abstract","content":"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."}},"keywords":{"#tag":"meta","#attributes":{"name":"keywords","content":"AFS Technologies, Inc., Business Intelligence (BI), Manufacturing, Mobile Computing, Retail, Sales And Marketing, Sales Force Automation, Trade Promotion Management"}},"og_site_name":{"#tag":"meta","#attributes":{"property":"og:site_name","content":"Consumer Goods Technology"}},"og_type":{"#tag":"meta","#attributes":{"property":"og:type","content":"Whitepaper"}},"og_url":{"#tag":"meta","#attributes":{"property":"og:url","content":"https://consumergoods.com/harnessing-power-closed-loop-consumer-products-mobility-ecosystem"}},"og_title":{"#tag":"meta","#attributes":{"property":"og:title","content":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem"}},"og_image_0":{"#tag":"meta","#attributes":{"property":"og:image","content":"https://assets1.consumergoods.com/styles/primary_articles_short/s3/Harnessing_the_Power_CGT_teaser.jpg?itok=ZR416GJJ"}},"og_image_url_0":{"#tag":"meta","#attributes":{"property":"og:image:url","content":"https://assets1.consumergoods.com/styles/primary_articles_short/s3/Harnessing_the_Power_CGT_teaser.jpg?itok=ZR416GJJ"}},"og_image_type":{"#tag":"meta","#attributes":{"property":"og:image:type","content":"image/jpeg"}},"og_image_width":{"#tag":"meta","#attributes":{"property":"og:image:width","content":"655"}},"og_image_height":{"#tag":"meta","#attributes":{"property":"og:image:height","content":"368"}},"og_updated_time":{"#tag":"meta","#attributes":{"property":"og:updated_time","content":"2021-12-08T12:38:48-0600"}},"twitter_cards_type":{"#tag":"meta","#attributes":{"name":"twitter:card","content":"summary_large_image"}},"twitter_cards_title":{"#tag":"meta","#attributes":{"name":"twitter:title","content":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem"}},"twitter_cards_image":{"#tag":"meta","#attributes":{"name":"twitter:image","content":"https://assets1.consumergoods.com/styles/primary_articles_short/s3/Harnessing_the_Power_CGT_teaser.jpg?itok=ZR416GJJ"}},"schema.org":{"schema_article_type":{"#tag":"meta","#attributes":{"name":"@type","content":"Article","group":"schema_article","schema_metatag":true}},"schema_article_article_body":{"#tag":"meta","#attributes":{"name":"articleBody","content":"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.","group":"schema_article","schema_metatag":true}},"schema_article_name":{"#tag":"meta","#attributes":{"name":"name","content":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem","group":"schema_article","schema_metatag":true}},"schema_article_headline":{"#tag":"meta","#attributes":{"name":"headline","content":"Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem","group":"schema_article","schema_metatag":true}},"schema_article_about_0":{"#tag":"meta","#attributes":{"name":"about","content":["Business Intelligence (BI)","Mobile Technology","Sales Force Automation","Trade Promotion Management","Manufacturing","Sales & Marketing"],"group":"schema_article","schema_metatag":true}},"schema_article_date_published":{"#tag":"meta","#attributes":{"name":"datePublished","content":"Tue, 01/14/2014 - 18:00","group":"schema_article","schema_metatag":true}},"schema_article_date_modified":{"#tag":"meta","#attributes":{"name":"dateModified","content":"Tue, 01/14/2014 - 18:00","group":"schema_article","schema_metatag":true}}}},"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},"heroImage":null,"heroImageSrcset":null,"sponsored":false,"sponsorship":{"overrideAds":null},"businessTopic":[],"contentType":[],"company":[],"marketSegment":[],"topics":[{"id":64,"name":"Business Intelligence (BI)","url":"/business-intelligence-bi"},{"id":402,"name":"Mobile Technology","url":"/mobile-technology"},{"id":205,"name":"Sales Force Automation","url":"/sales-force-automation"},{"id":101,"name":"Trade Promotion Management","url":"/trade-promotion-management"},{"id":43,"name":"Manufacturing","url":"/manufacturing"},{"id":27,"name":"Sales & Marketing","url":"/sales-and-marketing"}],"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 = "Harnessing the Power of a Closed Loop Consumer Products Mobility Ecosystem | White Papers | 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);
}
})();