","showSummary":null,"url":"/nrf-2012-staying-engaged","date":"2011-12-23T00: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":null,"topics":[{"name":"Mobile Wallet","url":"/mobile-wallet"},{"name":"Omnichannel","url":"/omnichannel"},{"name":"Customer Service","url":"/customer-service"},{"name":"Security","url":"/security"},{"name":"Loyalty Programs","url":"/loyalty-programs"},{"name":"Mobile Commerce","url":"/mobile-commerce"},{"name":"Point of Sale","url":"/point-sale"},{"name":"Mobile Apps","url":"/mobile-apps"},{"name":"Mobile Devices","url":"/mobile-devices"},{"name":"Social Networking","url":"/social-networking"}],"attachedFiles":[]},{"title":"eBay Opens Mobile Pop-Up Shops Worldwide","id":4821,"bundle":"article","summary":"eBay has opened virtual pop-up shops this holiday season in San Francisco, New York City and London. In the stores, customers can use their smartphones to scan QR codes that take them to product pages on eBay where they can complete purchases or make charitable donations.","showSummary":null,"url":"/ebay-opens-mobile-pop-shops-worldwide","date":"2011-11-22T00: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":43973,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/800px-EBay_Logo_jpg.png?itok=q8Xv34L7","width":150,"height":62,"alt":null},"topics":[{"name":"Point of Sale","url":"/point-sale"},{"name":"Mobile Wallet","url":"/mobile-wallet"},{"name":"Omnichannel","url":"/omnichannel"},{"name":"E-Commerce","url":"/e-commerce"},{"name":"Mobile Commerce","url":"/mobile-commerce"},{"name":"Mobile Devices","url":"/mobile-devices"},{"name":"Social Networking","url":"/social-networking"},{"name":"Data Management","url":"/data-management"}],"attachedFiles":[]},{"title":"VeriFone Acquires Payment Solutions Provider Point for $810M","id":4823,"bundle":"article","summary":"VeriFone has signed an agreement to acquire European payment services provider Point for $810 million. During the first 12 months, VeriFone expects the acquisition to add approximately $260 million in sales.","showSummary":null,"url":"/verifone-acquires-payment-solutions-provider-point-810m","date":"2011-11-21T00: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":43970,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/verifone.jpg?itok=tBtrzzKA","width":150,"height":150,"alt":null},"topics":[{"name":"Mobile Wallet","url":"/mobile-wallet"},{"name":"Omnichannel","url":"/omnichannel"},{"name":"E-Commerce","url":"/e-commerce"},{"name":"Security","url":"/security"},{"name":"Point of Sale","url":"/point-sale"}],"attachedFiles":[]},{"title":"Gap Deploys Google Wallet Smartphone Payment in 65 Stores","id":4831,"bundle":"article","summary":"Gap has introduced Google Wallet's pay-by-smartphone capability in more than 65 stores in the San Francisco Bay Area, joining retailers that include OfficeMax, Macy's, Guess and Toys \"R\" Us.","showSummary":null,"url":"/gap-deploys-google-wallet-smartphone-payment-65-stores","date":"2011-11-16T00: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":43962,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/Gap_RIS_6-14-11_2.jpg?itok=1ZA4O8gN","width":150,"height":97,"alt":null},"topics":[{"name":"Mobile Wallet","url":"/mobile-wallet"},{"name":"Coupons","url":"/coupons"},{"name":"Point of Sale","url":"/point-sale"},{"name":"Loyalty Programs","url":"/loyalty-programs"},{"name":"Mobile Apps","url":"/mobile-apps"},{"name":"Near-Field Communications","url":"/near-field-communications"},{"name":"Mobile Devices","url":"/mobile-devices"},{"name":"Store Systems","url":"/store-systems"}],"attachedFiles":[]},{"title":"PCI Roadmap: Seven Steps to Tighter Data Security","id":4880,"bundle":"whitepaper","url":"/pci-roadmap-seven-steps-tighter-data-security","date":"2011-10-28T00: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":"The rise of omni-channel retailing and the move to mobility are expanding retailers’ data security risks and responsibilities. Download this Roadmap to discover seven practical steps toward tighter, more comprehensive security throughout the retail enterprise.","body":"The rise of omni-channel retailing and the move to mobility are expanding retailers’ security risks beyond the sphere of payment data, from the POS to in-store WiFi networks and mobile device management. Download this Roadmap to discover seven practical steps toward tighter, more comprehensive security throughout the retail enterprise.","alternateLabel":null,"teaserImage":{"id":21638,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/RIS_Roadmap_Oct11_teaser.jpg?itok=NY6w9mT8","width":100,"alt":null,"height":131},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]},{"title":"POS Upgrade Strategies","id":4924,"bundle":"whitepaper","url":"/pos-upgrade-strategies","date":"2011-10-06T00: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":"As omni-channel shoppers increasingly demand an Internet-like shopping experience at the store level, the role of the POS is rapidly changing. Download this Retail Solutions Brief to learn how the POS has evolved from primarily a transactional and data collection device into a critical customer service touchpoint.","body":"As omni-channel shoppers increasingly demand an Internet-like shopping experience at the store level, the role of the POS is rapidly changing. Download this Retail Solutions Brief to learn how the POS has evolved from primarily a transactional and data collection device into a critical customer service touchpoint.
","alternateLabel":null,"teaserImage":{"id":21625,"url":"https://assets1.risnews.com/styles/secondary_articles_short/s3/rsb1011.jpg?itok=Z78C0bJV","width":150,"alt":null,"height":181},"sponsored":false,"businessTopic":[],"company":[],"contentType":[]}]},"title":"Mobile Wallet"};
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);
}
})();