feat: Add marketing and use case pages, their data structures, and supporting UI components.
This commit is contained in:
@@ -62,6 +62,12 @@ export const commercialPages: CommercialPageLink[] = [
|
||||
description: "Measure scans by placement, device, and timing when you need proof instead of guesswork.",
|
||||
accent: "from-indigo-600 to-blue-500",
|
||||
},
|
||||
{
|
||||
href: "/qr-code-analytics",
|
||||
title: "QR Code Analytics",
|
||||
description: "Turn raw scans into placement, campaign, and post-print reporting your team can actually use.",
|
||||
accent: "from-slate-900 to-cyan-600",
|
||||
},
|
||||
{
|
||||
href: "/custom-qr-code-generator",
|
||||
title: "Custom QR Code Generator",
|
||||
@@ -82,7 +88,7 @@ export const commercialPages: CommercialPageLink[] = [
|
||||
},
|
||||
];
|
||||
|
||||
export const featuredUseCases: UseCaseLink[] = [
|
||||
export const allUseCases: UseCaseLink[] = [
|
||||
{
|
||||
slug: "restaurant-menu-qr-codes",
|
||||
href: "/use-cases/restaurant-menu-qr-codes",
|
||||
@@ -113,23 +119,94 @@ export const featuredUseCases: UseCaseLink[] = [
|
||||
parentTitle: "QR Code Tracking",
|
||||
ctaLabel: "Create your event QR code",
|
||||
},
|
||||
{
|
||||
slug: "flyer-qr-codes",
|
||||
href: "/use-cases/flyer-qr-codes",
|
||||
title: "Flyer QR Codes",
|
||||
cluster: "print-campaigns",
|
||||
summary: "Compare placements, rotate offers, and keep flyer campaigns measurable after print goes out.",
|
||||
parentHref: "/qr-code-for-marketing-campaigns",
|
||||
parentTitle: "QR Codes for Marketing Campaigns",
|
||||
ctaLabel: "Create your flyer QR code",
|
||||
},
|
||||
{
|
||||
slug: "packaging-qr-codes",
|
||||
href: "/use-cases/packaging-qr-codes",
|
||||
title: "Packaging QR Codes",
|
||||
cluster: "packaging",
|
||||
summary: "Route scans from packaging, inserts, and labels into manuals, support, and product analytics.",
|
||||
parentHref: "/qr-code-analytics",
|
||||
parentTitle: "QR Code Analytics",
|
||||
ctaLabel: "Create your packaging QR code",
|
||||
},
|
||||
{
|
||||
slug: "real-estate-sign-qr-codes",
|
||||
href: "/use-cases/real-estate-sign-qr-codes",
|
||||
title: "Real Estate Sign QR Codes",
|
||||
cluster: "real-estate",
|
||||
summary: "Keep listing routes current and compare sign, brochure, and open-house traffic with cleaner reporting.",
|
||||
parentHref: "/qr-code-tracking",
|
||||
parentTitle: "QR Code Tracking",
|
||||
ctaLabel: "Create your real estate QR code",
|
||||
},
|
||||
{
|
||||
slug: "feedback-qr-codes",
|
||||
href: "/use-cases/feedback-qr-codes",
|
||||
title: "Feedback QR Codes",
|
||||
cluster: "feedback",
|
||||
summary: "Capture in-store feedback, route happy customers to review flows, and measure which placements get responses.",
|
||||
parentHref: "/qr-code-tracking",
|
||||
parentTitle: "QR Code Tracking",
|
||||
ctaLabel: "Create your feedback QR code",
|
||||
},
|
||||
{
|
||||
slug: "payment-qr-codes",
|
||||
href: "/use-cases/payment-qr-codes",
|
||||
title: "Payment QR Codes",
|
||||
cluster: "payments",
|
||||
summary: "Send scanners straight into a mobile payment action without making printed payment prompts go stale.",
|
||||
parentHref: "/dynamic-qr-code-generator",
|
||||
parentTitle: "Dynamic QR Code Generator",
|
||||
ctaLabel: "Create your payment QR code",
|
||||
},
|
||||
{
|
||||
slug: "coupon-qr-codes",
|
||||
href: "/use-cases/coupon-qr-codes",
|
||||
title: "Coupon QR Codes",
|
||||
cluster: "offers",
|
||||
summary: "Tie coupon placements to measurable scans so you know which print offers actually get redeemed.",
|
||||
parentHref: "/qr-code-tracking",
|
||||
parentTitle: "QR Code Tracking",
|
||||
ctaLabel: "Create your coupon QR code",
|
||||
},
|
||||
];
|
||||
|
||||
export const featuredUseCases: UseCaseLink[] = allUseCases.filter((item) =>
|
||||
[
|
||||
"restaurant-menu-qr-codes",
|
||||
"business-card-qr-codes",
|
||||
"flyer-qr-codes",
|
||||
"packaging-qr-codes",
|
||||
"real-estate-sign-qr-codes",
|
||||
"feedback-qr-codes",
|
||||
].includes(item.slug),
|
||||
);
|
||||
|
||||
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.",
|
||||
title: "Product label workflows",
|
||||
description: "Best next cluster once packaging analytics and bulk import pages are live together.",
|
||||
},
|
||||
{
|
||||
href: "/qr-code-for-marketing-campaigns",
|
||||
title: "Flyer and brochure campaigns",
|
||||
description: "Strong print-intent cluster once the marketing-campaign commercial parent is live.",
|
||||
title: "Brochure and trade-show campaigns",
|
||||
description: "Natural second-wave expansion for print attribution once flyer workflows are established.",
|
||||
},
|
||||
{
|
||||
href: "/qr-code-tracking",
|
||||
title: "Feedback and coupon journeys",
|
||||
description: "Good second-wave pages once tracking and CTA attribution are stable.",
|
||||
href: "/dynamic-qr-code-generator",
|
||||
title: "Table ordering and service flows",
|
||||
description: "High-fit hospitality expansion after menu and payment journeys have performance data.",
|
||||
},
|
||||
];
|
||||
|
||||
@@ -151,9 +228,19 @@ export const supportResources: SupportResourceLink[] = [
|
||||
},
|
||||
];
|
||||
|
||||
function bySlug(slug: string): UseCaseLink {
|
||||
const match = allUseCases.find((item) => item.slug === slug);
|
||||
|
||||
if (!match) {
|
||||
throw new Error(`Unknown use case slug: ${slug}`);
|
||||
}
|
||||
|
||||
return match;
|
||||
}
|
||||
|
||||
export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
"restaurant-menu-qr-codes": {
|
||||
...featuredUseCases[0],
|
||||
...bySlug("restaurant-menu-qr-codes"),
|
||||
eyebrow: "Restaurants",
|
||||
titleSuffix: "for Restaurants, Cafes, and Changing Menus",
|
||||
metaDescription:
|
||||
@@ -213,9 +300,9 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
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.",
|
||||
href: "/use-cases/payment-qr-codes",
|
||||
title: "Sibling page: Payment QR Codes",
|
||||
description: "Useful when the same physical surfaces need an up-to-date post-scan payment action.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
@@ -234,7 +321,7 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
],
|
||||
},
|
||||
"business-card-qr-codes": {
|
||||
...featuredUseCases[1],
|
||||
...bySlug("business-card-qr-codes"),
|
||||
eyebrow: "Business Cards",
|
||||
titleSuffix: "for Contact Sharing, Bookings, and Portfolio Links",
|
||||
metaDescription:
|
||||
@@ -315,7 +402,7 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
],
|
||||
},
|
||||
"event-qr-codes": {
|
||||
...featuredUseCases[2],
|
||||
...bySlug("event-qr-codes"),
|
||||
eyebrow: "Events",
|
||||
titleSuffix: "for Check-In, Schedules, Booths, and Campaign Tracking",
|
||||
metaDescription:
|
||||
@@ -375,9 +462,9 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
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.",
|
||||
href: "/use-cases/flyer-qr-codes",
|
||||
title: "Sibling page: Flyer QR Codes",
|
||||
description: "Useful when event promotion depends on measurable printed distribution before event day.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
@@ -395,6 +482,492 @@ export const useCasePageContent: Record<string, UseCasePageContent> = {
|
||||
},
|
||||
],
|
||||
},
|
||||
"flyer-qr-codes": {
|
||||
...bySlug("flyer-qr-codes"),
|
||||
eyebrow: "Print Campaigns",
|
||||
titleSuffix: "for Promotions, Posters, and Offline Campaign Testing",
|
||||
metaDescription:
|
||||
"Use flyer QR codes to keep print campaigns measurable, compare placements, and change the destination without reprinting every batch.",
|
||||
intro:
|
||||
"Flyer QR codes work best when the printed asset can stay in circulation while the offer, landing page, or attribution model keeps evolving.",
|
||||
answer:
|
||||
"A flyer QR code should connect one printed call to action with a destination you can update and a scan trail you can compare across placements, neighborhoods, or campaign waves.",
|
||||
whenToUse: [
|
||||
"You run local flyers, direct mail, posters, or leave-behind materials with changing offers.",
|
||||
"You want to compare placement performance instead of treating every scan like one generic campaign.",
|
||||
"You need campaign flexibility after the flyer run has already been distributed.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Offer updates", text: "New print run needed", value: true },
|
||||
{ label: "Placement attribution", text: "Often unclear", value: true },
|
||||
{ label: "Creative testing", text: "Weak by default", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Create one flyer QR flow per offer or placement cluster, not one code for every campaign forever.",
|
||||
"Use a dynamic destination or tagged URL so the landing page can change without replacing the print.",
|
||||
"Track scan context by distribution point, neighborhood, or creative version before deciding what scales.",
|
||||
],
|
||||
workflowTitle: "What flyer QR codes should help you measure",
|
||||
workflowIntro:
|
||||
"Flyers are easy to print and hard to evaluate unless the QR setup is designed for comparison from the beginning.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Placement-aware campaigns",
|
||||
description: "Split codes or destinations by region, venue type, or distribution partner so scans can be compared without guesswork.",
|
||||
},
|
||||
{
|
||||
title: "Offer iteration after print",
|
||||
description: "Keep the same flyer in circulation while you change the landing page, schedule, or campaign CTA behind the code.",
|
||||
},
|
||||
{
|
||||
title: "Print-to-signup reporting",
|
||||
description: "Use flyer scans as the first step in a measurable path toward signup, booking, coupon claim, or lead capture.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Flyer QR checklist",
|
||||
checklist: [
|
||||
"Write one clear scan CTA on the flyer instead of forcing the code to explain itself.",
|
||||
"Use separate tracking logic for high-volume placements rather than one generic destination.",
|
||||
"Match the flyer promise to the first screen after the scan.",
|
||||
"Review scan performance by placement before printing the next batch.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/qr-code-for-marketing-campaigns",
|
||||
title: "Commercial parent: QR Codes for Marketing Campaigns",
|
||||
description: "Best fit when your flyer is part of a broader offline-to-online campaign system.",
|
||||
},
|
||||
{
|
||||
href: "/blog/utm-parameter-qr-codes",
|
||||
title: "UTM Parameters with QR Codes",
|
||||
description: "Support article for comparing flyer locations, campaign bursts, and creative versions.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/coupon-qr-codes",
|
||||
title: "Sibling page: Coupon QR Codes",
|
||||
description: "Useful when flyer distribution is meant to drive a specific redeemable offer.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "Should a flyer QR code be dynamic?",
|
||||
answer: "Yes, if the landing page, offer, or campaign tracking may change after printing. That keeps the flyer useful longer and avoids waste.",
|
||||
},
|
||||
{
|
||||
question: "How do I track flyer QR codes by location?",
|
||||
answer: "Use distinct destinations or campaign tags by placement so scans from each distribution point can be compared cleanly.",
|
||||
},
|
||||
{
|
||||
question: "What should a flyer QR code link to?",
|
||||
answer: "Link to the one next action promised on the flyer, such as a signup page, offer page, booking page, or campaign landing page.",
|
||||
},
|
||||
],
|
||||
},
|
||||
"packaging-qr-codes": {
|
||||
...bySlug("packaging-qr-codes"),
|
||||
eyebrow: "Packaging",
|
||||
titleSuffix: "for Product Support, Inserts, and Post-Purchase Journeys",
|
||||
metaDescription:
|
||||
"Use packaging QR codes to route buyers into manuals, product support, onboarding, or post-purchase offers while keeping scans measurable.",
|
||||
intro:
|
||||
"Packaging QR codes are most valuable when they do more than send users to a homepage. They should support a product journey after purchase and give you visibility into what people actually scan.",
|
||||
answer:
|
||||
"A packaging QR code should connect the physical product to a useful post-purchase destination such as setup help, manuals, registration, support, or follow-up content that can be updated later.",
|
||||
whenToUse: [
|
||||
"You need product packaging, labels, or inserts to send users to changing support or onboarding pages.",
|
||||
"You want scan visibility by product line, SKU family, or campaign batch.",
|
||||
"You need a better bridge from physical packaging into post-purchase education or retention.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Manual updates", text: "Requires reprint", value: true },
|
||||
{ label: "Post-purchase reporting", text: "Minimal", value: true },
|
||||
{ label: "Product-line comparison", text: "Hard to organize", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Map each packaging QR to one useful post-purchase job such as setup, manuals, support, or product registration.",
|
||||
"Use a destination structure that can change as documentation, support paths, or campaign links evolve.",
|
||||
"Review scans by product line or package type so packaging placements become a reporting surface instead of a blind spot.",
|
||||
],
|
||||
workflowTitle: "Packaging QR workflows worth building deliberately",
|
||||
workflowIntro:
|
||||
"Once a package is shipped, the QR code becomes part of the customer experience. The supporting flow should be stable enough for print but flexible enough for the business.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Support and setup routing",
|
||||
description: "Send new customers to the right setup guide, manual, warranty flow, or help entry point without forcing them to search.",
|
||||
},
|
||||
{
|
||||
title: "Batch or product analytics",
|
||||
description: "Track which products, inserts, or packaging lines drive scans so you can see where post-purchase engagement actually happens.",
|
||||
},
|
||||
{
|
||||
title: "Offer and content updates",
|
||||
description: "Swap destinations after launch when manuals, app links, retention offers, or onboarding content change.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Packaging QR checklist",
|
||||
checklist: [
|
||||
"Make the first scanned destination obviously relevant to the product in hand.",
|
||||
"Avoid routing every package to the same generic homepage.",
|
||||
"Use analytics naming that lets product lines or batches be reviewed later.",
|
||||
"Test print size, contrast, and material finish on real packaging samples.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/qr-code-analytics",
|
||||
title: "Commercial parent: QR Code Analytics",
|
||||
description: "Best fit when packaging scans need to become a measurable post-purchase signal.",
|
||||
},
|
||||
{
|
||||
href: "/bulk-qr-code-generator",
|
||||
title: "Bulk QR Code Generator",
|
||||
description: "Useful when packaging programs need many codes across SKUs, inserts, or recurring runs.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/coupon-qr-codes",
|
||||
title: "Sibling page: Coupon QR Codes",
|
||||
description: "Useful when packaging scans need to trigger a measurable offer or retention prompt.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "What should a packaging QR code link to?",
|
||||
answer: "The best destination is usually a post-purchase action such as setup help, manuals, support, registration, or a product-specific resource hub.",
|
||||
},
|
||||
{
|
||||
question: "Can packaging QR codes be tracked?",
|
||||
answer: "Yes. With a trackable QR setup you can review how packaging scans perform by product line, batch, placement, or destination.",
|
||||
},
|
||||
{
|
||||
question: "Should packaging QR codes be dynamic?",
|
||||
answer: "They should be dynamic when product documentation, app links, support flows, or promotional destinations may change after the packaging is printed.",
|
||||
},
|
||||
],
|
||||
},
|
||||
"real-estate-sign-qr-codes": {
|
||||
...bySlug("real-estate-sign-qr-codes"),
|
||||
eyebrow: "Real Estate",
|
||||
titleSuffix: "for Listings, Brochures, and Open-House Routing",
|
||||
metaDescription:
|
||||
"Use real estate sign QR codes to route buyers to the current listing experience and compare sign, brochure, and open-house performance.",
|
||||
intro:
|
||||
"Real estate sign QR codes are strongest when listing traffic stays current even as inventory, open-house schedules, or brochure links change.",
|
||||
answer:
|
||||
"A real estate sign QR code should connect a passerby to the right listing, brochure, or inquiry flow today while keeping enough tracking context to compare sign performance over time.",
|
||||
whenToUse: [
|
||||
"You need signs, window displays, or property brochures to point to live listing information.",
|
||||
"You want to compare scans from signs, flyers, open houses, or brokerage materials.",
|
||||
"You need listing routes that can change after print when the property status or CTA changes.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Listing updates", text: "Static links get stale", value: true },
|
||||
{ label: "Sign performance", text: "Usually opaque", value: true },
|
||||
{ label: "Property routing", text: "One fixed page", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Connect each sign QR to the right listing, brochure, or lead flow instead of a generic homepage.",
|
||||
"Use trackable routing when the same property appears on signs, flyers, and open-house materials.",
|
||||
"Change the destination when the listing status, CTA, or follow-up flow changes without replacing printed signs.",
|
||||
],
|
||||
workflowTitle: "Where real estate QR systems become useful",
|
||||
workflowIntro:
|
||||
"Real estate print assets stay in the field while listing status and buyer next steps change. The QR setup should reflect that reality.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Live listing routing",
|
||||
description: "Keep signs useful even if the preferred listing page, brochure path, or inquiry CTA changes after installation.",
|
||||
},
|
||||
{
|
||||
title: "Source comparison",
|
||||
description: "Compare sign traffic against property flyers, open-house materials, and office displays without merging everything into one bucket.",
|
||||
},
|
||||
{
|
||||
title: "Lead-ready handoff",
|
||||
description: "Route scanners to the current listing hub, brochure request, or showing inquiry page instead of a dead-end listing snapshot.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Real estate sign QR checklist",
|
||||
checklist: [
|
||||
"Use a mobile-first listing page because most sign scans happen on phones.",
|
||||
"Name tracking sources so sign, flyer, and open-house scans can be reviewed separately.",
|
||||
"Update the destination when the property status or lead path changes.",
|
||||
"Test scan distance and contrast on the actual sign material before production.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/qr-code-tracking",
|
||||
title: "Commercial parent: QR Code Tracking",
|
||||
description: "Best fit when the goal is comparing real-world property placements and scan context.",
|
||||
},
|
||||
{
|
||||
href: "/qr-code-for-marketing-campaigns",
|
||||
title: "QR Codes for Marketing Campaigns",
|
||||
description: "Useful when property promotion sits inside a broader local acquisition campaign.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/flyer-qr-codes",
|
||||
title: "Sibling page: Flyer QR Codes",
|
||||
description: "Useful when listing promotion depends on both sign traffic and printed collateral.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "What should a real estate sign QR code link to?",
|
||||
answer: "It should link to the current listing experience, brochure page, or inquiry flow rather than a generic homepage or a static PDF that goes stale quickly.",
|
||||
},
|
||||
{
|
||||
question: "Can I track real estate sign QR code scans?",
|
||||
answer: "Yes. A trackable setup can help compare sign scans against other property materials such as flyers or open-house handouts.",
|
||||
},
|
||||
{
|
||||
question: "Should real estate QR codes be dynamic?",
|
||||
answer: "Yes, when listing details, CTA flows, or follow-up destinations may change while the sign remains in the field.",
|
||||
},
|
||||
],
|
||||
},
|
||||
"feedback-qr-codes": {
|
||||
...bySlug("feedback-qr-codes"),
|
||||
eyebrow: "Feedback",
|
||||
titleSuffix: "for Reviews, In-Store Feedback, and Follow-Up Journeys",
|
||||
metaDescription:
|
||||
"Use feedback QR codes to capture customer responses, route high-intent users into review flows, and measure which placements get feedback.",
|
||||
intro:
|
||||
"Feedback QR codes work best when they remove friction from the review or response step and still let you measure which placements actually drive action.",
|
||||
answer:
|
||||
"A feedback QR code should make it easy for customers to leave a response in the moment while giving your team enough context to compare locations, surfaces, or follow-up performance.",
|
||||
whenToUse: [
|
||||
"You want table cards, receipts, packaging inserts, or in-store prompts to collect feedback fast.",
|
||||
"You need a cleaner path from offline service moments into reviews or internal feedback collection.",
|
||||
"You want to compare where feedback requests actually convert instead of placing the same prompt everywhere.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Feedback routing", text: "Often generic", value: true },
|
||||
{ label: "Placement reporting", text: "Weak by default", value: true },
|
||||
{ label: "Review flow control", text: "Hard to tune", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Place feedback QR codes where the customer can act immediately after the experience, not hours later.",
|
||||
"Route the scan into the right feedback or review flow for that context.",
|
||||
"Track scans and responses by placement so you know which surfaces deserve continued print inventory.",
|
||||
],
|
||||
workflowTitle: "Feedback QR flows that are worth measuring",
|
||||
workflowIntro:
|
||||
"Feedback requests perform differently depending on timing, location, and the post-scan experience. The QR flow should reflect that.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Moment-of-service feedback",
|
||||
description: "Capture responses while the customer is still on site, at the table, or inside the post-purchase moment.",
|
||||
},
|
||||
{
|
||||
title: "Review routing",
|
||||
description: "Separate internal feedback collection from external review requests so the business controls the next step more clearly.",
|
||||
},
|
||||
{
|
||||
title: "Placement comparison",
|
||||
description: "Compare table cards, receipts, packaging inserts, and counter displays to see where customers actually respond.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Feedback QR checklist",
|
||||
checklist: [
|
||||
"Ask for one simple next action after the scan instead of combining review, survey, and support in one step.",
|
||||
"Place feedback prompts where the service experience is still fresh.",
|
||||
"Name or tag locations so scan and response performance can be reviewed later.",
|
||||
"Use a short, obvious CTA such as 'Scan to leave feedback' or 'Scan to rate your visit'.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/qr-code-tracking",
|
||||
title: "Commercial parent: QR Code Tracking",
|
||||
description: "Best fit when you need to compare feedback placements and understand scan context.",
|
||||
},
|
||||
{
|
||||
href: "/blog/trackable-qr-codes",
|
||||
title: "Trackable QR Codes",
|
||||
description: "Support article for teams that want a measurable review or response program across multiple placements.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/coupon-qr-codes",
|
||||
title: "Sibling page: Coupon QR Codes",
|
||||
description: "Useful when the same offline surfaces support both feedback collection and post-visit offers.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "What is a feedback QR code?",
|
||||
answer: "A feedback QR code sends customers to a review, survey, or response form so they can give feedback immediately after a visit or purchase.",
|
||||
},
|
||||
{
|
||||
question: "Can feedback QR codes be tracked?",
|
||||
answer: "Yes. A trackable setup can show which placements, locations, or materials generate the most scans and responses.",
|
||||
},
|
||||
{
|
||||
question: "Where should I place a feedback QR code?",
|
||||
answer: "Place it where the customer can act right after the experience, such as on table cards, receipts, counters, packaging inserts, or post-service handouts.",
|
||||
},
|
||||
],
|
||||
},
|
||||
"payment-qr-codes": {
|
||||
...bySlug("payment-qr-codes"),
|
||||
eyebrow: "Payments",
|
||||
titleSuffix: "for Mobile Checkout, Counter Payments, and Printed Prompts",
|
||||
metaDescription:
|
||||
"Use payment QR codes to route customers into a mobile payment action that stays current even when links or workflows change.",
|
||||
intro:
|
||||
"Payment QR codes are most useful when the printed prompt stays simple while the underlying payment destination can change with the business.",
|
||||
answer:
|
||||
"A payment QR code should move a scanner directly into the intended payment action on mobile without forcing the business to replace printed prompts every time the payment flow changes.",
|
||||
whenToUse: [
|
||||
"You use printed payment prompts on counters, tables, invoices, or leave-behind materials.",
|
||||
"You need a mobile-first payment path instead of asking customers to type a long URL.",
|
||||
"You want flexibility when the payment link, provider, or landing flow changes over time.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Payment destination", text: "Fixed once printed", value: true },
|
||||
{ label: "Provider changes", text: "Reprint required", value: true },
|
||||
{ label: "Post-scan routing", text: "Limited", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Decide which payment action the code should trigger: direct payment, checkout page, invoice page, or service deposit.",
|
||||
"Generate one QR per real payment context instead of one generic payment code for everything.",
|
||||
"Use a destination that can be updated when your payment provider or checkout flow changes.",
|
||||
],
|
||||
workflowTitle: "Payment QR workflows that stay practical after print",
|
||||
workflowIntro:
|
||||
"Payment prompts live on physical surfaces longer than the payment links behind them. The QR workflow should absorb that change instead of forcing reprints.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Counter and table payments",
|
||||
description: "Use printed QR prompts to move a customer into a fast mobile payment step without manual URL entry.",
|
||||
},
|
||||
{
|
||||
title: "Invoice and leave-behind flows",
|
||||
description: "Attach payment actions to printed materials that may remain in circulation after a provider or link update.",
|
||||
},
|
||||
{
|
||||
title: "Context-specific routing",
|
||||
description: "Send different payment scenarios to the right checkout or follow-up path instead of one catch-all destination.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Payment QR checklist",
|
||||
checklist: [
|
||||
"Make the scan CTA specific so users know they are opening a payment action.",
|
||||
"Use a mobile-first checkout or payment screen.",
|
||||
"Keep one QR per payment context when the follow-up steps differ.",
|
||||
"Update the destination if provider links or invoice flows change after print.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/dynamic-qr-code-generator",
|
||||
title: "Commercial parent: Dynamic QR Code Generator",
|
||||
description: "Best fit when the printed payment prompt must survive future destination changes.",
|
||||
},
|
||||
{
|
||||
href: "/tools/paypal-qr-code",
|
||||
title: "PayPal QR Code tool",
|
||||
description: "Useful for direct payment-oriented workflows when PayPal is the intended post-scan action.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/restaurant-menu-qr-codes",
|
||||
title: "Sibling page: Restaurant Menu QR Codes",
|
||||
description: "Useful when table cards combine service information and a later payment or ordering action.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "What should a payment QR code link to?",
|
||||
answer: "It should link to the actual mobile payment action you want the user to take, such as a checkout page, invoice page, or direct payment destination.",
|
||||
},
|
||||
{
|
||||
question: "Should payment QR codes be dynamic?",
|
||||
answer: "Yes, when the payment destination, provider, or checkout flow may change after the printed code is already in use.",
|
||||
},
|
||||
{
|
||||
question: "Where do payment QR codes work best?",
|
||||
answer: "They work best on printed surfaces where a fast mobile payment step is valuable, such as counters, invoices, tables, service documents, or leave-behind materials.",
|
||||
},
|
||||
],
|
||||
},
|
||||
"coupon-qr-codes": {
|
||||
...bySlug("coupon-qr-codes"),
|
||||
eyebrow: "Offers",
|
||||
titleSuffix: "for Measurable Discounts, Redemptions, and Local Promotions",
|
||||
metaDescription:
|
||||
"Use coupon QR codes to connect printed offers with measurable scans, current discount pages, and cleaner redemption reporting.",
|
||||
intro:
|
||||
"Coupon QR codes are strongest when the discount path stays current and your team can see which print placements actually generate redemptions.",
|
||||
answer:
|
||||
"A coupon QR code should connect one printed offer to a landing or redemption flow you can update later while preserving enough tracking context to compare placements and promotion waves.",
|
||||
whenToUse: [
|
||||
"You run discounts on flyers, receipts, inserts, posters, or local print campaigns.",
|
||||
"You want to compare which printed offer placements drive scans or redemptions.",
|
||||
"You need the offer destination to stay current even if the promotion changes after print.",
|
||||
],
|
||||
comparisonItems: [
|
||||
{ label: "Offer changes", text: "Static links go stale", value: true },
|
||||
{ label: "Redemption visibility", text: "Often weak", value: true },
|
||||
{ label: "Placement comparison", text: "Usually manual", value: true },
|
||||
],
|
||||
howToSteps: [
|
||||
"Create one coupon QR flow per actual offer or placement group instead of mixing promotions together.",
|
||||
"Use a destination or coupon page that can change after distribution if the offer window shifts.",
|
||||
"Review scan and redemption context by flyer, receipt, package insert, or local placement before scaling the next campaign.",
|
||||
],
|
||||
workflowTitle: "Coupon QR systems that improve the next campaign",
|
||||
workflowIntro:
|
||||
"Printed offers are only useful if the path behind them stays live and the results can be reviewed later. A coupon QR should support both.",
|
||||
workflowCards: [
|
||||
{
|
||||
title: "Offer routing after print",
|
||||
description: "Keep the same printed discount prompt alive while the landing page, code, or campaign framing changes.",
|
||||
},
|
||||
{
|
||||
title: "Placement reporting",
|
||||
description: "Compare where coupons get scanned or redeemed so posters, flyers, inserts, and receipts stop being one blended source.",
|
||||
},
|
||||
{
|
||||
title: "Redemption-focused follow-up",
|
||||
description: "Route the scan into a path that makes redemption easy instead of forcing the user to search for the offer again.",
|
||||
},
|
||||
],
|
||||
checklistTitle: "Coupon QR checklist",
|
||||
checklist: [
|
||||
"Write the offer clearly on the printed asset so the QR code reinforces one promise.",
|
||||
"Use distinct tracking for major placements or campaign waves.",
|
||||
"Keep the redemption page or coupon path mobile-friendly.",
|
||||
"Update the destination when the offer changes instead of leaving dead promotions in circulation.",
|
||||
],
|
||||
supportLinks: [
|
||||
{
|
||||
href: "/qr-code-tracking",
|
||||
title: "Commercial parent: QR Code Tracking",
|
||||
description: "Best fit when the value comes from comparing placements and measuring offer performance.",
|
||||
},
|
||||
{
|
||||
href: "/blog/trackable-qr-codes",
|
||||
title: "Trackable QR Codes",
|
||||
description: "Support article for teams that want a more measurable coupon or discount program.",
|
||||
},
|
||||
{
|
||||
href: "/use-cases/flyer-qr-codes",
|
||||
title: "Sibling page: Flyer QR Codes",
|
||||
description: "Useful when the coupon is part of a measurable flyer or local promotion program.",
|
||||
},
|
||||
],
|
||||
faq: [
|
||||
{
|
||||
question: "What is a coupon QR code?",
|
||||
answer: "A coupon QR code sends users to an offer or redemption page so the discount can be claimed without typing a URL or code manually.",
|
||||
},
|
||||
{
|
||||
question: "Can coupon QR codes be tracked?",
|
||||
answer: "Yes. A trackable setup helps compare scans and coupon performance across placements such as flyers, posters, inserts, or receipts.",
|
||||
},
|
||||
{
|
||||
question: "Should a coupon QR code be dynamic?",
|
||||
answer: "Yes, when the promotion, landing page, or redemption flow may change while the printed asset is still in circulation.",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
export function getUseCasePage(slug: string): UseCasePageContent | undefined {
|
||||
|
||||
Reference in New Issue
Block a user