Work index

Vue / Node.js / API Integration

P&G Grocery Rewards

Transforming 70+ one-off promotional microsites into a unified rewards platform with receipt validation, account management, and loyalty features.

P&G Grocery Rewards

The Problem

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.

The Solution: A Rewards Hub

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.

The shift from building 70 microsites to maintaining one platform was the kind of engineering decision that pays dividends for years.

The TAGS Engine

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:

  • Receipt processing via Snipp API for image validation and product matching
  • Reward fulfillment pipeline handling prepaid gift cards and promotional prizes
  • Regional targeting serving different promotions based on user zip code
  • Error handling and customer support flows for failed receipt submissions

The Redemption Flow

I built a streamlined 3-step redemption process that had to balance simplicity with the reality of validating purchase receipts:

  • Step 1: Email + store verification — with smart retailer lookup to reduce failed submissions
  • Step 2: Receipt upload — with annotation guidance, image validation, and surfaced help content (previously hidden behind tooltips)
  • Step 3: Confirmation — with conditional CTAs for account creation, game components, and cross-promotion

Account & Loyalty Features

The account dashboard was the key differentiator from the old one-off approach:

  • Submission tracking giving users visibility into receipt validation status (previously email-only)
  • Reward history showing lifetime earnings across all promotions
  • Punch card system incentivizing participation in multiple campaigns
  • Location-based recommendations surfacing upcoming promotions in the user's region
  • Personalized welcome messaging for returning logged-in users

The Technical Stack

  • Vue.js front end with dynamic routing for campaign pages
  • Node.js backend orchestrating multiple third-party integrations
  • Snipp API for receipt processing and validation
  • Regional content management serving location-specific promotions
  • White-label architecture designed for potential licensing to other clients

The Result

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.