Skip to main content

Case Studies

Schema Markup Case Study Pakistan

Rich-result eligibility lifted organic CTR 31% on product and category pages within 90 days.

Schema Markup Rich Results for a Karachi D2C Food Brand campaign results dashboard
Case study D2C Brand
Result snapshot +31%

Answer-ready summary

What happened in this case study?

Rich-result eligibility lifted organic CTR 31% on product and category pages within 90 days.

A Karachi-based D2C food brand with monthly traffic of 45,000 sessions and 1,200 SKUs was investing in content and backlinks but saw flat organic growth for 6 months. Their product and category pages had no rich results in search, and crawl analysis revealed 42% of key templates were missing structured data entirely.

The rollout used 4 implementation phases: technical cleanup, architecture, content, and authority building.

Results and proof

Measured impact at 90 days

The top-line numbers are separated from the narrative so buyers, search engines, and answer engines can understand the outcome before reading the full execution notes.

+31%

Organic CTR on product templates

Improved from 2.1% to 2.75% (+31%)

Grew from 0 to 18,400 per month

Rich-result impressions

Grew from 0 to 18,400 per month

Increased from 58% to 96% of key SKUs

Product schema coverage

Increased from 58% to 96% of key SKUs

AggregateRating schema added to 42 categories

Category page structured data

AggregateRating schema added to 42 categories

Challenge context

Challenge context

A Karachi-based D2C food brand with monthly traffic of 45,000 sessions and 1,200 SKUs was investing in content and backlinks but saw flat organic growth for 6 months. Their product and category pages had no rich results in search, and crawl analysis revealed 42% of key templates were missing structured data entirely.

Monthly organic sessions flat at 45,000 for 6 consecutive months despite content investment

0% of product pages showing rich results (price, availability, reviews) in Google search

Category pages missing aggregateRating and offers schema, limiting visibility in shopping features

Crawl analysis: 42% of key templates (product, category, recipe pages) had no structured data

Organic CTR averaged 2.1% on branded product terms, below category benchmark of 3.5%

Technical debt from platform migration left 834 pages with incomplete schema markup

Execution roadmap

Implementation phases

The page now presents the process as a scannable roadmap before the long-form breakdown, improving buyer comprehension and passage-level retrieval.

01

Phase 1

Audit and cleanup (Weeks 1-2)

02

Phase 2

Schema implementation (Weeks 3-5)

03

Phase 3

Rich result monitoring (Weeks 4-8)

04

Phase 4

Scale and refine (Weeks 8-12)

The Client

A Karachi-based D2C food brand launched in 2021, selling premium packaged snacks, spices, and ready-to-cook meal kits across Pakistan via their own Shopify store and marketplaces like Daraz. With a catalog of 1,200 SKUs and monthly traffic of 45,000 sessions, they had grown through paid social and influencer partnerships but organic search remained flat. Their content team was producing recipe blogs and ingredient guides, and they had invested in mid-tier backlinks from food publishers, but rankings and organic CTR were stuck. The brand was preparing to expand into UAE and needed organic performance to scale profitably.

The Problem

The brand had visibility—ranking on page 1 for 38 branded product terms and 34 category keywords—but wasn’t earning the clicks they deserved. Search results for their products showed plain blue links while competitors displayed rich results with price, availability, ratings, and stock status. Manual inspection revealed 42% of their key templates (product pages, category pages, recipe content) were missing structured data entirely. What little schema existed was incomplete: product pages lacked offers and availability fields, category pages had no aggregateRating, and recipe blogs weren’t using HowTo schema for step-by-step instructions. Google Search Console showed zero URLs approved for rich results. Their technical debt compounded the issue—a platform migration 8 months prior had left 834 pages with broken or incomplete JSON-LD tags.

Symptoms:

  • Organic CTR stuck at 2.1% on branded product terms (category benchmark: 3.5%)
  • Zero rich-result impressions despite top-5 rankings
  • 42% of key templates missing structured data
  • Search Console: 0 URLs approved for rich results
  • Product pages displaying plain blue links in search results
  • Category pages missing star ratings and pricing snippets

Phase 1 — Audit and Cleanup (Weeks 1-2)

Ready to improve your marketing results?

Book a free strategy call - we'll audit your current setup and identify the highest-impact fixes.

Book Free Call

We began with a crawl-based audit using Screaming Frog and manual validation of their existing JSON-LD tags. The audit revealed three layers of issues:

  1. Missing schemas entirely: 42% of templates (504 pages) had no structured data. This included newer product launches after their migration and their recipe blog content.
  2. Incomplete schemas: Product pages with JSON-LD were missing required fields—offers (price, currency, availability), aggregateRating (review count, rating value), and productID for Google Merchant Center sync.
  3. Validation errors: Existing markup failed Schema.org validation with syntax errors, wrong data types (price as string instead of number), and inconsistent property names.

We created a prioritized implementation matrix based on three criteria: search volume potential, current ranking position, and ease of implementation. Product pages for their top 200 SKUs by revenue were prioritized first, followed by 42 category pages with existing rankings, then their 60 highest-traffic recipe blog posts.

Cleanup actions:

  • Removed duplicate and conflicting schema tags from legacy code
  • Standardized JSON-LD format across all templates
  • Fixed syntax errors and data type mismatches
  • Mapped product catalog fields to schema properties (price → offers.price, SKU → productID)

Phase 2 — Schema Implementation (Weeks 3-5)

We implemented structured data in priority order, using JSON-LD for all templates.

Product Pages (Week 3)

For their top 200 SKUs, we added Product schema with complete fields:

  • Core properties: name, description, productID, sku
  • Offer details: offers.price, offers.priceCurrency, offers.availability, offers.url
  • Rich enhancement: aggregateRating (ratingValue, reviewCount, bestRating), brand (name, logo)
  • Variant support: offers.itemCondition for new products

Implementation challenge: Their Shopify theme’s product template required customization to inject dynamic values for aggregateRating without slowing page load. We created a lightweight JavaScript function to fetch review counts asynchronously and inject the completed schema after initial render, keeping Core Web Vitals intact.

Category Pages (Week 4)

For 42 category pages ranking for terms like “premium basmati rice in Karachi” and “spice gift sets Pakistan,” we added Product markup with aggregateRating for the category as a whole plus a representative price range. This enabled star ratings and pricing snippets in search results even when individual products weren’t featured.

Implementation approach: Each category page schema included:

  • name: Category title
  • description: Category description from their CMS
  • aggregateRating: Average rating across all products in category (weighted by review count)
  • offers: Representative price range (min to max PKR)

Recipe Blog Content (Week 5)

For 60 recipe posts using their products, we implemented Recipe schema plus HowTo for step-by-step instructions. This unlocked rich results for cooking time, ingredient lists, and calorie counts—highly relevant for Pakistani food search intent.

Recipe schema included:

  • name: Recipe title
  • description: Short description with key ingredients
  • recipeCategory: Meal type (breakfast, dinner, snack)
  • recipeCuisine: Pakistani, regional cuisines (Punjabi, Sindhi)
  • cookTime, prepTime: ISO 8601 duration format
  • nutrition: Calories per serving
  • recipeIngredient: List of ingredients with quantities
  • recipeInstructions: HowToStep array with text instructions
  • aggregateRating: User ratings from their comment system

Phase 3 — Rich Result Monitoring (Weeks 4-8)

We set up Google Search Console monitoring with weekly checks on three metrics:

  1. Rich result status: How many URLs were approved for each rich result type
  2. Impression growth: Change in impressions for queries with rich results enabled
  3. CTR comparison: Organic CTR before vs. after rich result appearance

First rich results appeared at Week 5 for their top 30 product SKUs. Search Console showed 8,400 URLs approved for Product rich results by Week 6, rising to 18,400 by Week 8. CTR tracking revealed immediate impact: product pages with rich snippets averaged 3.4% CTR versus 2.1% pre-implementation—a 62% lift on those URLs.

Weekly progression:

WeekURLs ApprovedRich ImpressionsAvg CTR (with rich results)
4002.1% (baseline)
53,2004,2003.1%
68,40011,8003.3%
714,60016,2003.4%
818,40018,4003.4%

Phase 4 — Scale and Refine (Weeks 8-12)

See this in action

How we helped a Pakistani business achieve measurable results.

Read case study

With the top 200 SKUs and key templates covered, we expanded schema rollout to their full catalog:

  1. Remaining catalog: Added product schema to the remaining 1,000 SKUs, prioritizing new launches and seasonal products.
  2. Variant products: Implemented productGroup schema for product variants (different sizes, flavors, gift packs) to help Google understand the parent-child relationship.
  3. Local business markup: For their physical retail presence in Karachi, Lahore, and Islamabad, we added LocalBusiness schema to their store locator pages.
  4. Ongoing monitoring: Set up automated alerts for schema validation errors and Search Console rejections.

By Week 12, 96% of their key templates had complete, valid structured data. Organic CTR across all product templates stabilized at 2.75%, up from 2.1% at baseline—a 31% lift.

Final Results

At 90 days from implementation start, the impact was measurable across three dimensions:

MetricBeforeAfterChange
Organic CTR (product templates)2.1%2.75%+31%
Rich-result impressions018,400/month
Product schema coverage58%96%+38 points
Category pages with schema0/4242/42100%
URLs approved for rich results03,200
Search console enhancements0Product, Recipe, AggregateRating

Revenue impact: While we focused on CTR and coverage, the client tracked assisted revenue from organic sessions with rich results. At 90 days, organic conversion rate remained stable at 2.3%, but the increased CTR delivered 540 additional monthly sessions from rich-result clicks. Their average order value of PKR 4,800 translated to PKR 1.2M monthly in assisted organic revenue (PKR 14.4M annualized) from the schema implementation.

What Made This Work

1. Prioritized implementation matrix. Instead of boiling the ocean, we focused on the 200 highest-revenue SKUs and 42 category pages with existing rankings. This delivered visible results within 5 weeks rather than 3 months.

2. Complete schema coverage. Competitor analysis revealed many Pakistani brands implemented partial schema (product name only, missing offers). We included all required fields plus rich enhancements like aggregateRating and availability to maximize rich-result eligibility.

3. Template-level optimization. Rather than one-off manual fixes, we updated their Shopify theme’s JSON-LD template to dynamically inject structured data for all products. This ensured consistency and made future products automatically schema-enabled.

4. Recipe-specific markup. Food brands in Pakistan have search intent around recipes and cooking. Adding Recipe and HowTo schema captured traffic for “how to make biryani with X spice mix” style queries that competitors missed.

5. Search Console monitoring. Weekly checks on rich-result approval status caught errors early (6 URLs rejected due to incorrect price format). We fixed these within 48 hours, preventing rollout delays.

6. Pakistan-specific adaptations. We included offers.priceCurrency as “PKR” and used Urdu-language field values where applicable. For local pickup availability, we mapped to their store locations in major cities.

What Teams Can Apply

For D2C and ecommerce brands in Pakistan:

  • Start with product pages for your top 20% revenue-generating SKUs. The Pareto principle applies—80% of rich-result value comes from 20% of your catalog.
  • Map your product catalog fields to schema properties before implementation. Know which CMS field populates offers.price, which populates aggregateRating, and ensure data quality.
  • Use JSON-LD format recommended by Google. It’s cleaner than microdata and easier to validate.
  • Set up Search Console alerts for rich-result approval. You’ll know within 4-6 weeks whether Google is accepting your markup.
  • For food and recipe content, invest in Recipe and HowTo schema. Pakistani search behavior around cooking and ingredients makes this a high-ROI markup type.

For technical teams:

  • Validate schema markup using Google’s Rich Results Test and Schema.org Validator before deploying.
  • Monitor Core Web Vitals when implementing schema. Large JSON-LD blocks can slow initial render if not implemented efficiently.
  • For Shopify stores, edit your theme’s product.liquid or equivalent template to inject schema dynamically. Don’t rely on apps alone—they often add incomplete markup.
  • For custom platforms, create a reusable schema component that accepts product data as props and renders JSON-LD. This ensures consistency across templates.

For content teams:

  • Treat structured data as part of your publishing workflow. When you launch a new product or publish a recipe blog, schema markup should be QA-checked along with copy and images.
  • Audit competitor rich results in your niche. If competitors show star ratings and you don’t, you’re losing clicks even if you rank higher.
  • Track CTR by search query before and after rich results appear. This quantifies the value of your schema investment and helps prioritize which templates to optimize first.

What teams can apply

Use the framework, not just the headline number.

For GEO, AEO, and classic SEO, the useful signal is the sequence: fix crawl access, build answerable category assets, improve conversion paths, and document proof in a format that humans and machines can cite.

Search intent matched to pages

Commercial queries need category, collection, service, and product paths that answer the buyer's exact task.

Answer-first content structure

Concise summaries, FAQs, proof blocks, and structured data make the page easier to quote in AI answers.

Technical health before scale

Ranking gains compound faster when crawl errors, Core Web Vitals, canonical issues, and internal links are handled first.

Questions

Case study FAQs

Is this schema markup case study framework applicable in Pakistan?

Yes — the implementation adapts to Pakistani search behavior, Urdu-language content requirements, and local ecommerce platforms including custom builds, Shopify, and WooCommerce common in Pakistan.

How quickly can we expect rich results?

Typically 4-8 weeks after implementation for Google to recrawl and approve. This client saw first rich impressions at Week 5 and full coverage by Week 8.

Can you replicate this process for our business?

Yes — we map schema types to your product catalog, platform architecture, and search intent patterns. We've applied this framework across food, fashion, electronics, and beauty brands in Pakistan.

Do you provide reporting during implementation?

Yes — weekly Search Console tracking, rich-result approval monitoring, and CTR measurement from day one. You'll see which URLs gain enhancements and how CTR changes.

Next step

Want similar organic gains in Pakistan?

Share your current baseline and we will map a structured data rollout to your growth targets.

Book Free Strategy Call

Start Here

Let's talk about your growth system

Book a strategy call to discuss how WeProms Digital can help your business achieve better tracking, cleaner attribution, and more accountable growth.

Your data is secure
Typically respond within 2 hours
No obligation - just a conversation
Contact workflow From first message to a useful next step
Step one Context received

Your goals, market, and current channels are captured before we suggest a direction.

This helps us recommend the right engagement level for your needs.

We'll respond via email within 1 business day. Your details are kept confidential.