KFC Philippines is a leading name in the Quick Service Restaurant (QSR) industry, serving customers nationwide with its signature flavors and innovative offerings. With a strong presence across the country, the brand caters to over 1 million monthly app users, delivering a seamless food ordering and delivery experience. Known for its dynamic menus and high daily order volume, KFC Philippines continues to set the standard for convenience, quality, and customer satisfaction in the fast-paced food service market.

Problem Statement
KFC Philippines was manually syncing their product catalog to MoEngage for use in CRM campaigns like push notifications and in-app content. Their marketing and CRM teams faced:
- Manual catalog creation and uploads using Postman
- No automated process to reflect daily menu changes or price updates
- High dependency on technical teams for even minor product changes
- Missed personalization opportunities due to stale or inaccurate catalog data
The challenge was directly tied to personalization, lifecycle engagement, and campaign agility. With frequently changing menus, mismatches between live offerings and campaign content were causing engagement rates to drop over time.
Objectives
- Automate catalog sync between KFC’s internal product API and MoEngage
- Ensure updated product pricing, availability, and URLs in real-time
- Eliminate manual JSON formatting and Postman steps
- Enable CRM teams to confidently use Content Blocks in push and email
- Build a replicable solution for other brands or regions
Audit & Discovery
We analyzed the existing setup and campaign stack:
Platforms Audited: MoEngage Catalog Module, Postman, KFC Menu API
Key Gaps Identified:
- No automated sync or catalog creation mechanism
- Duplicate and inconsistent product IDs across days
- Missing product URLs and stale images in campaigns
- No process to handle deleted or discontinued items
- No historical logging or rollback capability
Solution & Approach
- Created a fully automated pipeline that fetches, formats, and syncs product data daily
- Introduced product ID normalization to prevent duplication
- Added logic to handle deletions and prevent content mismatches
1. Tech/Tool Execution
- Developed a Python-based script to:
- Pull data from KFC’s internal menu API
- Scrape official KFC website to attach product URLs
- Format it for MoEngage Catalog schema
- Create catalog dynamically (if not already created)
- Push or patch product data in batches of 50
- Delete removed items from catalog
- Tech-Agnostic and scalable across brands
2. Personalization Layer
- Mapped each product with:
- Live price and availability
- Description and image
- Category and product page URL
- Used this data to drive personalized content blocks for:
- Time-sensitive promos (e.g., lunch only)
- Trending items
- Out-of-stock suppression
3. Measurement
Logged each sync run with:
- Items added / updated / deleted
- Response status from API
- Failures for alerting
- CRM tracked uplift in:
- Push open and CTR
- Catalog content impression-to-click ratios
- Tested changes in a staging catalog before going live
Results & Impact
Quantitative Outcomes:
- 100% automation of catalog sync with zero human input
- Reduced catalog update time from 2 hours to <10 minutes
- Uplift in CTR for catalog-driven push notifications
- 100% product coverage with accurate URLs and pricing
Qualitative Outcomes:
- CRM team became fully independent from tech teams
- Content Blocks are now confidently used for product promotion
- Elimination of campaign delays due to catalog errors
- Ready-to-scale solution for other brands (e.g., Taco Bell, Pizza Hut)