import type { Metadata } from "next";

import {
  buildUseCaseMetadata,
  UseCasePageTemplate,
} from "@/components/marketing/UseCasePageTemplate";

export const metadata: Metadata = buildUseCaseMetadata({
  title: "QR Codes for Marketing Campaigns",
  description:
    "Plan QR codes for marketing campaigns around placement tracking, changing destinations, and offline-to-online attribution.",
  canonicalPath: "/qr-code-for-marketing-campaigns",
});

export default function QRCodeForMarketingCampaignsPage() {
  return (
    <UseCasePageTemplate
      title="QR Codes for Marketing Campaigns"
      description="Plan QR codes for marketing campaigns around placement tracking, changing destinations, and offline-to-online attribution."
      eyebrow="Campaign Workflows"
      intro="Marketing campaign QR codes work best when the code on the printed asset stays stable while the destination and attribution model can evolve with the campaign."
      pageType="commercial"
      cluster="marketing-campaigns"
      useCase="marketing-campaigns"
      breadcrumbs={[
        { name: "Home", url: "/" },
        {
          name: "QR Codes for Marketing Campaigns",
          url: "/qr-code-for-marketing-campaigns",
        },
      ]}
      answer="A campaign QR code should do more than open a page. It should help you compare placements, update the destination when the offer changes, and route offline traffic into a measurable funnel."
      whenToUse={[
        "You run flyers, posters, packaging inserts, or event signage with campaign-specific CTA copy.",
        "You want to compare placements or creatives instead of treating every scan as generic traffic.",
        "Your destination may change during the life of the printed campaign.",
      ]}
      comparisonItems={[
        { label: "Offer updates", text: "New print required", value: true },
        { label: "Placement attribution", text: "Often manual", value: true },
        { label: "Creative testing", text: "Hard to manage", value: true },
      ]}
      howToSteps={[
        "Create campaign QR flows around one clear action and one named placement context.",
        "Use dynamic destinations or tagged URLs so the print stays usable when the offer changes.",
        "Measure scans with a clean CTA path into signup, lead capture, or campaign landing pages.",
      ]}
      primaryCta={{
        href: "/dynamic-qr-code-generator",
        label: "Create a trackable campaign QR",
      }}
      secondaryCta={{
        href: "/use-cases",
        label: "Browse use-case workflows",
      }}
      workflowTitle="What strong campaign QR workflows look like"
      workflowIntro="Campaign QR strategy becomes more useful when creative, placement, and destination are treated as a system rather than a single link printed everywhere."
      workflowCards={[
        {
          title: "Placement-aware routing",
          description: "Keep banner, flyer, packaging, and in-store placements comparable by using distinct destinations or campaign tags.",
        },
        {
          title: "Post-print flexibility",
          description: "Adjust the landing page, offer, or CTA destination after print when the campaign learns something or needs a fast update.",
        },
        {
          title: "Measurement-ready handoff",
          description: "Push campaign scans toward signup, booking, or lead-gen paths so the QR is tied to a business outcome instead of a vanity click.",
        },
      ]}
      checklistTitle="Campaign QR checklist"
      checklist={[
        "Match each QR code to one campaign purpose and one primary CTA.",
        "Differentiate placements with clean naming or URL tagging before the assets go to print.",
        "Use a destination you can update when the promotion, offer, or landing page changes.",
        "Link the campaign flow back to a measured CTA path instead of stopping at raw scan counts.",
      ]}
      supportLinks={[
        {
          href: "/qr-code-tracking",
          title: "QR Code Tracking",
          description: "Use when the real priority is measuring placement and scanner context.",
        },
        {
          href: "/custom-qr-code-generator",
          title: "Custom QR Code Generator",
          description: "Useful when brand fit and print creative need more control.",
        },
        {
          href: "/blog/utm-parameter-qr-codes",
          title: "UTM Parameters with QR Codes",
          description: "Support article for placement naming and campaign attribution strategy.",
        },
      ]}
      faq={[
        {
          question: "Why use QR codes in marketing campaigns?",
          answer: "Campaign QR codes help move offline audiences into a measurable online path. They are most useful when the destination and tracking setup are planned before the assets go live.",
        },
        {
          question: "Should campaign QR codes be dynamic?",
          answer: "Yes, when the destination, offer, or campaign landing page may change after print. That avoids replacing materials just because the target page changes.",
        },
        {
          question: "How do I track different QR placements in one campaign?",
          answer: "Use distinct destinations or tagged URLs for each placement so flyers, posters, booth signs, and packaging inserts can be compared cleanly.",
        },
      ]}
    />
  );
}
