","showSummary":null,"url":"/weis-fights-hunger","date":"2010-10-28T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Food Retailers","url":"/food-retailers"},{"name":"Market Trends","url":"/market-trends"},{"name":"New Products & Promotions","url":"/new-products-promotions"}],"attachedFiles":[]},{"title":"Guiding Stars Launches Online Tool","id":41201,"bundle":"article","summary":"The ‘Food Finder’ enables shoppers to search the Guiding Stars database.","showSummary":null,"url":"/guiding-stars-launches-online-tool","date":"2010-10-26T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Trading Partners","url":"/trading-partners"},{"name":"Market Trends","url":"/market-trends"},{"name":"New Products & Promotions","url":"/new-products-promotions"},{"name":"Nonfoods","url":"/nonfoods"}],"attachedFiles":[]},{"title":"P&G Bows Major Product Initiative With Manhattan Pop-up Store","id":41184,"bundle":"article","summary":"“Have You Tried This Yet?” aims to drive trial after the introductory period.","showSummary":null,"url":"/pg-bows-major-product-initiative-manhattan-pop-store","date":"2010-10-24T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Special Reports","url":"/special-reports"},{"name":"Trading Partners","url":"/trading-partners"},{"name":"Nonfoods","url":"/nonfoods"},{"name":"New Products & Promotions","url":"/new-products-promotions"},{"name":"Pharmacy","url":"/pharmacy"}],"attachedFiles":[]},{"title":"Harris Teeter Gears Up for Annual Food Drive, Donation Card Campaign","id":41161,"bundle":"article","summary":"Shoppers can help area food bank feed hungry families.","showSummary":null,"url":"/harris-teeter-gears-annual-food-drive-donation-card-campaign","date":"2010-10-20T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Food Retailers","url":"/food-retailers"},{"name":"New Products & Promotions","url":"/new-products-promotions"}],"attachedFiles":[]},{"title":"Stop & Shop Wins Sidney Farber Medical Research Award","id":41147,"bundle":"article","summary":"The honor caps a 20-year commitment to eradicating pediatric cancer.","showSummary":null,"url":"/stop-shop-wins-sidney-farber-medical-research-award","date":"2010-10-18T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Food Retailers","url":"/food-retailers"},{"name":"New Products & Promotions","url":"/new-products-promotions"},{"name":"Nonfoods","url":"/nonfoods"}],"attachedFiles":[]},{"title":"'Guiding Stars' Now at Kings Super Markets","id":41117,"bundle":"article","summary":"In addition to the program, the chain offers in-store health activities.","showSummary":null,"url":"/guiding-stars-now-kings-super-markets","date":"2010-10-13T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Food Retailers","url":"/food-retailers"},{"name":"Market Trends","url":"/market-trends"},{"name":"New Products & Promotions","url":"/new-products-promotions"},{"name":"Nonfoods","url":"/nonfoods"},{"name":"Produce / Floral","url":"/produce-floral"}],"attachedFiles":[]},{"title":"FreshDirect Relaunches 4-Minute Meals, Rolls Out Sweepstakes","id":41111,"bundle":"article","summary":"New website functionality enhances the shopping experience.","showSummary":null,"url":"/freshdirect-relaunches-4-minute-meals-rolls-out-sweepstakes","date":"2010-10-12T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Special Reports","url":"/special-reports"},{"name":"Supermarket & Grocery Industry News","url":"/supermarket-grocery-industry-news"},{"name":"New Products & Promotions","url":"/new-products-promotions"}],"attachedFiles":[]},{"title":"United Program Aims to 'Complete the Circle' for Local Food Banks","id":41100,"bundle":"article","summary":"Besides benefiting the needy, the program encourages trial of private label Full Circle products.","showSummary":null,"url":"/united-program-aims-complete-circle-local-food-banks","date":"2010-10-11T00:00:00","author":{"email":"info@progressivegrocer.com","uname":"pg_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":"Food Retailers","url":"/food-retailers"},{"name":"Nonfoods","url":"/nonfoods"},{"name":"Research & Analysis","url":"/research-analysis"},{"name":"Market Trends","url":"/market-trends"},{"name":"New Products & Promotions","url":"/new-products-promotions"}],"attachedFiles":[]}]},"title":"New Products & Promotions","contentParagraphs":null,"sections":null}; const country = "US"; const language = null; const SITE_LANGUAGE = "en"; const siteName = "Progressive Grocer"; const userRoles = ["anonymous"]; const userUid = 0; const indexName = "pg"; const title = "New Products & Promotions | Progressive Grocer"; 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); } })();