[{"data":1,"prerenderedAt":246},["ShallowReactive",2],{"settings":3,"portfolio-pg-grocery-rewards":27},{"id":4,"cv":5,"default_meta_image":6,"email":7,"extension":8,"external_links":9,"favicon":19,"location":20,"logo_dark":21,"logo_light":21,"meta":22,"name":23,"round_logo":24,"stem":25,"__hash__":26},"settings\u002Fsettings.yml","\u002Fmark-spirek-resume.pdf","\u002Fimages\u002Fog-default.png","mark@markspirek.com","yml",[10,13,16],{"url":11,"text":12},"https:\u002F\u002Fgithub.com\u002Fmspirek","GitHub",{"url":14,"text":15},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fmspirek\u002F","Linkedin",{"url":17,"text":18},"https:\u002F\u002Ffocusstate.com","(:focus state)","\u002Fimages\u002Ffavicon.png","Austin, TX","\u002Fimages\u002Flogos\u002Favatar.jpeg",{},"Mark Spirek",true,"settings","JBIcnjpYNn3ITT-stl9NXDK_836L5PHgO3X-Hr5Jdvs",{"id":28,"title":29,"blurb":30,"body":31,"categories":233,"cover_image":236,"date":237,"description":61,"extension":238,"meta":239,"meta_description":240,"meta_title":241,"navigation":24,"path":242,"seo":243,"stem":244,"__hash__":245},"portfolio\u002Fportfolio\u002Fpg-grocery-rewards.md","P&G Grocery Rewards","Transforming 70+ one-off promotional microsites into a unified rewards platform with receipt validation, account management, and loyalty features.",{"type":32,"value":33,"toc":223},"minimark",[34,39,43,47,50,56,63,67,70,99,104,108,111,131,136,140,143,175,179,211,216,220],[35,36,38],"h2",{"id":37},"the-problem","The Problem",[40,41,42],"p",{},"For years, P&G ran 3-4 promotional campaigns per quarter at regional grocery stores — each one getting its own branded microsite. Shoppers would buy P&G products, upload their receipt, and receive a prepaid gift card. After building over 70 of these one-off microsites, it was clear this approach wasn't scaling. Each build was time-consuming, and P&G was missing opportunities to collect shopper data and build long-term brand engagement.",[35,44,46],{"id":45},"the-solution-a-rewards-hub","The Solution: A Rewards Hub",[40,48,49],{},"I helped architect and build P&G Grocery Rewards — a single platform that consolidated all their promotional campaigns into one destination with a loyalty layer on top. Instead of spinning up a new microsite every quarter, campaigns now lived as dynamic pages within the hub.",[51,52,53],"blockquote",{},[40,54,55],{},"The shift from building 70 microsites to maintaining one platform was the kind of engineering decision that pays dividends for years.",[40,57,58],{},[59,60],"img",{"alt":61,"src":62},"","\u002Fimages\u002Fportfolio\u002Fpg-grocery-rewards\u002Fscreenshot-1.png",[35,64,66],{"id":65},"the-tags-engine","The TAGS Engine",[40,68,69],{},"The platform was built on top of TAGS (Take Action Get Stuff), a proprietary proof-of-purchase rewards engine. The core flow was deceptively simple — buy, upload receipt, get reward — but the integration layer was complex:",[71,72,73,81,87,93],"ul",{},[74,75,76,80],"li",{},[77,78,79],"strong",{},"Receipt processing"," via Snipp API for image validation and product matching",[74,82,83,86],{},[77,84,85],{},"Reward fulfillment"," pipeline handling prepaid gift cards and promotional prizes",[74,88,89,92],{},[77,90,91],{},"Regional targeting"," serving different promotions based on user zip code",[74,94,95,98],{},[77,96,97],{},"Error handling and customer support"," flows for failed receipt submissions",[40,100,101],{},[59,102],{"alt":61,"src":103},"\u002Fimages\u002Fportfolio\u002Fpg-grocery-rewards\u002Fscreenshot-2.jpg",[35,105,107],{"id":106},"the-redemption-flow","The Redemption Flow",[40,109,110],{},"I built a streamlined 3-step redemption process that had to balance simplicity with the reality of validating purchase receipts:",[71,112,113,119,125],{},[74,114,115,118],{},[77,116,117],{},"Step 1: Email + store verification"," — with smart retailer lookup to reduce failed submissions",[74,120,121,124],{},[77,122,123],{},"Step 2: Receipt upload"," — with annotation guidance, image validation, and surfaced help content (previously hidden behind tooltips)",[74,126,127,130],{},[77,128,129],{},"Step 3: Confirmation"," — with conditional CTAs for account creation, game components, and cross-promotion",[40,132,133],{},[59,134],{"alt":61,"src":135},"\u002Fimages\u002Fportfolio\u002Fpg-grocery-rewards\u002Fscreenshot-4.png",[35,137,139],{"id":138},"account-loyalty-features","Account & Loyalty Features",[40,141,142],{},"The account dashboard was the key differentiator from the old one-off approach:",[71,144,145,151,157,163,169],{},[74,146,147,150],{},[77,148,149],{},"Submission tracking"," giving users visibility into receipt validation status (previously email-only)",[74,152,153,156],{},[77,154,155],{},"Reward history"," showing lifetime earnings across all promotions",[74,158,159,162],{},[77,160,161],{},"Punch card system"," incentivizing participation in multiple campaigns",[74,164,165,168],{},[77,166,167],{},"Location-based recommendations"," surfacing upcoming promotions in the user's region",[74,170,171,174],{},[77,172,173],{},"Personalized welcome messaging"," for returning logged-in users",[35,176,178],{"id":177},"the-technical-stack","The Technical Stack",[71,180,181,187,193,199,205],{},[74,182,183,186],{},[77,184,185],{},"Vue.js"," front end with dynamic routing for campaign pages",[74,188,189,192],{},[77,190,191],{},"Node.js"," backend orchestrating multiple third-party integrations",[74,194,195,198],{},[77,196,197],{},"Snipp API"," for receipt processing and validation",[74,200,201,204],{},[77,202,203],{},"Regional content management"," serving location-specific promotions",[74,206,207,210],{},[77,208,209],{},"White-label architecture"," designed for potential licensing to other clients",[40,212,213],{},[59,214],{"alt":61,"src":215},"\u002Fimages\u002Fportfolio\u002Fpg-grocery-rewards\u002Fscreenshot-3.png",[35,217,219],{"id":218},"the-result","The Result",[40,221,222],{},"The Rewards Hub launched as an MVP in spring 2021, with quarterly campaigns now hosted on the platform. The architecture we built was designed from day one to be white-labeled — and that foresight paid off when we started exploring licensing the platform to other CPG brands.",{"title":61,"searchDepth":224,"depth":224,"links":225},2,[226,227,228,229,230,231,232],{"id":37,"depth":224,"text":38},{"id":45,"depth":224,"text":46},{"id":65,"depth":224,"text":66},{"id":106,"depth":224,"text":107},{"id":138,"depth":224,"text":139},{"id":177,"depth":224,"text":178},{"id":218,"depth":224,"text":219},[234,191,235],"Vue","API Integration","\u002Fimages\u002Fportfolio\u002Fpg-grocery-rewards\u002Fcover.png","2021-03-01T05:00:00+0000","md",{},"A centralized rewards and loyalty platform for P&G's grocery promotional campaigns, consolidating 70+ microsites into a single destination.","P&G Grocery Rewards | Work | Mark Spirek","\u002Fportfolio\u002Fpg-grocery-rewards",{"title":29,"description":61},"portfolio\u002Fpg-grocery-rewards","ImVE_8cTnlIJmwibOET20zmx1B_7m25gU2OFftpDTmI",1788057952228]