QR-master/src/lib/growth-pages.ts

403 lines
17 KiB
TypeScript

import type { FAQItem } from "@/lib/types";
export type CommercialPageLink = {
href: string;
title: string;
description: string;
accent: string;
};
export type UseCaseLink = {
slug: string;
href: string;
title: string;
cluster: string;
summary: string;
parentHref: string;
parentTitle: string;
ctaLabel: string;
};
export type SupportResourceLink = {
href: string;
title: string;
description: string;
};
export type UseCasePageContent = UseCaseLink & {
eyebrow: string;
titleSuffix: string;
metaDescription: string;
intro: string;
answer: string;
whenToUse: string[];
comparisonItems: {
label: string;
value: boolean;
text?: string;
}[];
howToSteps: string[];
workflowTitle: string;
workflowIntro: string;
workflowCards: {
title: string;
description: string;
}[];
checklistTitle: string;
checklist: string[];
supportLinks: SupportResourceLink[];
faq: FAQItem[];
};
export const commercialPages: CommercialPageLink[] = [
{
href: "/dynamic-qr-code-generator",
title: "Dynamic QR Code Generator",
description: "Edit the destination after print and keep one QR live across changing campaigns.",
accent: "from-blue-600 to-cyan-500",
},
{
href: "/qr-code-tracking",
title: "QR Code Tracking",
description: "Measure scans by placement, device, and timing when you need proof instead of guesswork.",
accent: "from-indigo-600 to-blue-500",
},
{
href: "/custom-qr-code-generator",
title: "Custom QR Code Generator",
description: "Match printed QR codes to your brand system without losing scannability.",
accent: "from-sky-600 to-indigo-500",
},
{
href: "/bulk-qr-code-generator",
title: "Bulk QR Code Generator",
description: "Create large sets for labels, event materials, and repeatable offline workflows.",
accent: "from-cyan-600 to-sky-500",
},
{
href: "/qr-code-for-marketing-campaigns",
title: "QR Codes for Marketing Campaigns",
description: "Plan campaign QR workflows around attribution, creative testing, and print distribution.",
accent: "from-slate-800 to-blue-600",
},
];
export const featuredUseCases: UseCaseLink[] = [
{
slug: "restaurant-menu-qr-codes",
href: "/use-cases/restaurant-menu-qr-codes",
title: "Restaurant Menu QR Codes",
cluster: "restaurants",
summary: "Keep printed table cards useful when menu links, prices, specials, or hours change.",
parentHref: "/dynamic-qr-code-generator",
parentTitle: "Dynamic QR Code Generator",
ctaLabel: "Create your restaurant menu QR",
},
{
slug: "business-card-qr-codes",
href: "/use-cases/business-card-qr-codes",
title: "Business Card QR Codes",
cluster: "business-cards",
summary: "Send contacts to a current profile, booking page, or vCard without reprinting cards.",
parentHref: "/dynamic-qr-code-generator",
parentTitle: "Dynamic QR Code Generator",
ctaLabel: "Create your business card QR",
},
{
slug: "event-qr-codes",
href: "/use-cases/event-qr-codes",
title: "Event QR Codes",
cluster: "events",
summary: "Split operational and campaign QR flows so schedules and tracking stay manageable on event day.",
parentHref: "/qr-code-tracking",
parentTitle: "QR Code Tracking",
ctaLabel: "Create your event QR code",
},
];
export const upcomingUseCaseIdeas: SupportResourceLink[] = [
{
href: "/bulk-qr-code-generator",
title: "Packaging and label workflows",
description: "Best next cluster for bulk creation, manuals, inserts, and recurring product updates.",
},
{
href: "/qr-code-for-marketing-campaigns",
title: "Flyer and brochure campaigns",
description: "Strong print-intent cluster once the marketing-campaign commercial parent is live.",
},
{
href: "/qr-code-tracking",
title: "Feedback and coupon journeys",
description: "Good second-wave pages once tracking and CTA attribution are stable.",
},
];
export const supportResources: SupportResourceLink[] = [
{
href: "/learn/use-cases",
title: "Learn: Use Cases",
description: "Editorial pillar page for educational browsing and broader QR workflow discovery.",
},
{
href: "/blog/dynamic-vs-static-qr-codes",
title: "Dynamic vs Static QR Codes",
description: "Explainer for the operational difference between fixed and editable QR destinations.",
},
{
href: "/blog/utm-parameter-qr-codes",
title: "UTM Parameters with QR Codes",
description: "Reference guide for campaign naming, placement attribution, and offline measurement.",
},
];
export const useCasePageContent: Record<string, UseCasePageContent> = {
"restaurant-menu-qr-codes": {
...featuredUseCases[0],
eyebrow: "Restaurants",
titleSuffix: "for Restaurants, Cafes, and Changing Menus",
metaDescription:
"Use restaurant menu QR codes to keep printed table cards useful when menu links, pricing, or specials change.",
intro:
"Restaurant menu QR codes work best when the printed code stays the same but the menu destination can change as your service changes.",
answer:
"A restaurant menu QR code should point to a mobile-friendly menu that you can update without replacing every printed card, flyer, or table tent.",
whenToUse: [
"Your menu link changes seasonally, weekly, or during service.",
"You want one printed QR on tables, windows, takeaway inserts, or flyers.",
"You need to route customers to the right menu, order flow, or special page without reprinting.",
],
comparisonItems: [
{ label: "Menu destination", text: "Fixed once printed", value: true },
{ label: "Last-minute updates", text: "Reprint required", value: true },
{ label: "Campaign tracking", text: "Limited", value: true },
],
howToSteps: [
"Create one dynamic menu QR and place it on your printed surfaces.",
"Send scanners to your current menu, order page, or daily specials page.",
"Update the destination when the menu or campaign changes instead of replacing the code.",
],
workflowTitle: "What a good restaurant QR setup should handle",
workflowIntro:
"The QR code is not the product. The workflow behind it is. A good restaurant setup keeps print stable while operations stay flexible.",
workflowCards: [
{
title: "Stable table cards",
description: "Keep one printed QR on tables and point it to the current menu, lunch card, or ordering page.",
},
{
title: "Seasonal offers",
description: "Swap specials, tasting menus, or holiday landing pages without touching the printed material.",
},
{
title: "Placement tracking",
description: "Use different menu or campaign destinations by location so you can compare tables, windows, and takeaway inserts.",
},
],
checklistTitle: "Restaurant QR checklist",
checklist: [
"Use a mobile-first landing page instead of a hard-to-read PDF where possible.",
"Keep the same printed QR on every stable surface you do not want to replace often.",
"Use CTA copy like 'Scan for menu' or 'Scan for today's specials' so the scan intent is obvious.",
"Pair campaign placements with trackable destinations when you test takeaway or window traffic.",
],
supportLinks: [
{
href: "/dynamic-qr-code-generator",
title: "Commercial parent: Dynamic QR Code Generator",
description: "Best fit when the real need is editing the destination after print.",
},
{
href: "/blog/qr-code-restaurant-menu",
title: "Restaurant menu guide",
description: "Existing editorial asset with menu placement and implementation basics.",
},
{
href: "/use-cases/business-card-qr-codes",
title: "Sibling page: Business Card QR Codes",
description: "Useful example of another print-first workflow where the destination changes over time.",
},
],
faq: [
{
question: "Should a restaurant menu QR code be static or dynamic?",
answer: "Use a dynamic QR code when the menu destination may change. That lets you update the landing page without replacing your printed materials.",
},
{
question: "What should a restaurant menu QR code link to?",
answer: "Link to a mobile-friendly menu page, ordering page, or a short service hub that helps customers reach the right menu fast.",
},
{
question: "Can I use one restaurant QR code in multiple places?",
answer: "Yes. One stable code can be reused across table cards, flyers, and takeaway materials, especially when the destination is managed dynamically.",
},
],
},
"business-card-qr-codes": {
...featuredUseCases[1],
eyebrow: "Business Cards",
titleSuffix: "for Contact Sharing, Bookings, and Portfolio Links",
metaDescription:
"Use business card QR codes to share a current contact page, vCard, booking link, or portfolio without reprinting cards.",
intro:
"Business card QR codes are most useful when your contact destination changes faster than your print inventory.",
answer:
"A business card QR code should send people to the best next action today, whether that is saving your contact, opening a booking link, or visiting a current profile page.",
whenToUse: [
"Your role, booking link, or portfolio changes more often than your printed cards.",
"You want one card to work for networking, sales follow-up, and contact saving.",
"You need a cleaner handoff than asking people to type a URL from a small card.",
],
comparisonItems: [
{ label: "Destination flexibility", text: "Fixed once printed", value: true },
{ label: "Contact updates", text: "New cards needed", value: true },
{ label: "Action routing", text: "Single fixed page", value: true },
],
howToSteps: [
"Choose the real action you want after the scan: save contact, book time, or view work.",
"Generate a QR code that sends people to that destination or to a vCard-capable landing page.",
"Keep the print the same and update the linked destination when your details evolve.",
],
workflowTitle: "Where business card QR codes pay off",
workflowIntro:
"Printed cards still work. The problem is that the destination behind them often gets stale first.",
workflowCards: [
{
title: "Current contact flow",
description: "Send scanners to a vCard or current contact page so the next step is saving your details, not typing them.",
},
{
title: "Role or profile updates",
description: "Update the destination if you change company, title, offer, or booking link while old cards are still in circulation.",
},
{
title: "Context-aware follow-up",
description: "Point event-specific cards or team variants to the most relevant landing page instead of one generic homepage.",
},
],
checklistTitle: "Business card QR checklist",
checklist: [
"Pick one primary post-scan action instead of trying to send every scanner to everything at once.",
"Make the landing page useful on mobile because most business-card scans happen on phones.",
"Use CTA text such as 'Scan to save my contact' or 'Scan to book a call'.",
"Test the print size and contrast before ordering a large run.",
],
supportLinks: [
{
href: "/dynamic-qr-code-generator",
title: "Commercial parent: Dynamic QR Code Generator",
description: "Use when the printed card stays constant but the best destination changes.",
},
{
href: "/tools/vcard-qr-code",
title: "vCard QR Code tool",
description: "Free tool for contact-saving workflows when a vCard is the best immediate action.",
},
{
href: "/use-cases/event-qr-codes",
title: "Sibling page: Event QR Codes",
description: "Another workflow where temporary destinations and scan context matter.",
},
],
faq: [
{
question: "What should a business card QR code link to?",
answer: "The best destination is the one next step you want most: a vCard, booking page, contact hub, or current portfolio page.",
},
{
question: "Do business card QR codes need to be dynamic?",
answer: "They should be dynamic if your destination may change over the life of the printed card. That keeps old cards useful longer.",
},
{
question: "Can a business card QR code send people straight to contact saving?",
answer: "Yes. A vCard QR or a landing page with clear save-contact options is often the simplest and most practical post-scan action.",
},
],
},
"event-qr-codes": {
...featuredUseCases[2],
eyebrow: "Events",
titleSuffix: "for Check-In, Schedules, Booths, and Campaign Tracking",
metaDescription:
"Use event QR codes for schedules, check-in flows, and trackable campaign placements across signs, flyers, and booths.",
intro:
"Event QR codes work best when you separate operational QR flows from promotional ones and keep your printed placements easy to manage.",
answer:
"A good event QR setup uses different QR destinations for different jobs: operations, attendee utility, and campaign measurement should not all depend on one code.",
whenToUse: [
"Your event schedule, map, or resources may change close to event day.",
"You want to compare booth, banner, flyer, or badge placements instead of treating every scan as one bucket.",
"You need one event QR system that supports both attendee utility and marketing follow-up.",
],
comparisonItems: [
{ label: "Schedule changes", text: "New print may be needed", value: true },
{ label: "Placement reporting", text: "Weak by default", value: true },
{ label: "Operational vs campaign flows", text: "Often mixed", value: true },
],
howToSteps: [
"Split event QR codes by purpose: check-in, attendee info, and campaign placements.",
"Use trackable destinations for banners, booth assets, and flyers where placement performance matters.",
"Keep fast-changing resources on destinations you can update without replacing the printed code.",
],
workflowTitle: "Event workflows worth designing on purpose",
workflowIntro:
"Events generate scans in very different contexts. Treating them as one generic QR use case leaves both operations and measurement weaker.",
workflowCards: [
{
title: "Operational QR flows",
description: "Use dedicated QR paths for check-in, schedules, maps, and attendee resources that may shift before or during the event.",
},
{
title: "Booth and banner tracking",
description: "Track scans from distinct placements so you can compare booth creatives, sponsor zones, or call-to-action angles.",
},
{
title: "Post-event follow-up",
description: "Route scanners to the most relevant recap, booking, or lead capture page after the event without changing the printed assets.",
},
],
checklistTitle: "Event QR checklist",
checklist: [
"Do not force one QR code to handle operations, schedule updates, and lead-gen at the same time.",
"Use descriptive CTA copy like 'Scan for agenda' or 'Scan for booth resources'.",
"Track campaign placements separately so booth banners and flyers are comparable.",
"Test glare, print size, and placement distance on the real event materials before the event starts.",
],
supportLinks: [
{
href: "/qr-code-tracking",
title: "Commercial parent: QR Code Tracking",
description: "Best fit when the priority is measuring placement and scan context across the event.",
},
{
href: "/tools/event-qr-code",
title: "Event QR Code tool",
description: "Useful for save-the-date and calendar workflows that sit alongside broader event QR strategy.",
},
{
href: "/use-cases/restaurant-menu-qr-codes",
title: "Sibling page: Restaurant Menu QR Codes",
description: "Another example of a printed workflow where the content behind the QR changes often.",
},
],
faq: [
{
question: "Should an event use one QR code or several?",
answer: "Several is usually better. Separate operational QR codes from campaign QR codes so schedules, check-in, and attribution do not compete for one destination.",
},
{
question: "Can event QR codes be updated after print?",
answer: "Yes, if the destination is managed dynamically. That is useful for schedules, resource hubs, and post-event follow-up pages.",
},
{
question: "How do I measure which event placement performs best?",
answer: "Use distinct destinations or tagged URLs for each placement so banner, booth, badge, and flyer traffic can be compared cleanly.",
},
],
},
};
export function getUseCasePage(slug: string): UseCasePageContent | undefined {
return useCasePageContent[slug];
}