11 seo pages
This commit is contained in:
@@ -1,47 +1,47 @@
|
||||
export const GOOGLE_OAUTH_STATE_COOKIE_NAME = 'qrmaster_google_oauth_state';
|
||||
export const POST_AUTH_REDIRECT_COOKIE_NAME = 'qrmaster_post_auth_redirect';
|
||||
|
||||
export function sanitizeRedirectPath(value?: string | null): string | null {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const trimmed = value.trim();
|
||||
|
||||
if (!trimmed.startsWith('/') || trimmed.startsWith('//')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (trimmed.startsWith('/api/') || trimmed.startsWith('/login') || trimmed.startsWith('/signup')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return trimmed;
|
||||
}
|
||||
|
||||
export function appendRedirectParam(
|
||||
path: string,
|
||||
redirectPath?: string | null,
|
||||
extraParams?: Record<string, string | null | undefined>
|
||||
): string {
|
||||
const [pathname, existingQuery = ''] = path.split('?');
|
||||
const searchParams = new URLSearchParams(existingQuery);
|
||||
const safeRedirect = sanitizeRedirectPath(redirectPath);
|
||||
|
||||
if (safeRedirect) {
|
||||
searchParams.set('redirect', safeRedirect);
|
||||
}
|
||||
|
||||
Object.entries(extraParams || {}).forEach(([key, value]) => {
|
||||
if (value) {
|
||||
searchParams.set(key, value);
|
||||
}
|
||||
});
|
||||
|
||||
const query = searchParams.toString();
|
||||
return query ? `${pathname}?${query}` : pathname;
|
||||
}
|
||||
|
||||
export function getPostOnboardingDestination(redirectPath?: string | null): string {
|
||||
return sanitizeRedirectPath(redirectPath) || '/dashboard';
|
||||
}
|
||||
export const GOOGLE_OAUTH_STATE_COOKIE_NAME = 'qrmaster_google_oauth_state';
|
||||
export const POST_AUTH_REDIRECT_COOKIE_NAME = 'qrmaster_post_auth_redirect';
|
||||
|
||||
export function sanitizeRedirectPath(value?: string | null): string | null {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const trimmed = value.trim();
|
||||
|
||||
if (!trimmed.startsWith('/') || trimmed.startsWith('//')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (trimmed.startsWith('/api/') || trimmed.startsWith('/login') || trimmed.startsWith('/signup')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return trimmed;
|
||||
}
|
||||
|
||||
export function appendRedirectParam(
|
||||
path: string,
|
||||
redirectPath?: string | null,
|
||||
extraParams?: Record<string, string | null | undefined>
|
||||
): string {
|
||||
const [pathname, existingQuery = ''] = path.split('?');
|
||||
const searchParams = new URLSearchParams(existingQuery);
|
||||
const safeRedirect = sanitizeRedirectPath(redirectPath);
|
||||
|
||||
if (safeRedirect) {
|
||||
searchParams.set('redirect', safeRedirect);
|
||||
}
|
||||
|
||||
Object.entries(extraParams || {}).forEach(([key, value]) => {
|
||||
if (value) {
|
||||
searchParams.set(key, value);
|
||||
}
|
||||
});
|
||||
|
||||
const query = searchParams.toString();
|
||||
return query ? `${pathname}?${query}` : pathname;
|
||||
}
|
||||
|
||||
export function getPostOnboardingDestination(redirectPath?: string | null): string {
|
||||
return sanitizeRedirectPath(redirectPath) || '/dashboard';
|
||||
}
|
||||
|
||||
@@ -1,305 +1,305 @@
|
||||
// Centralized competitor data — single source of truth for all comparison pages.
|
||||
// Update pricing/features here and it propagates to all competitor pages.
|
||||
|
||||
export type FeatureComparison = {
|
||||
feature: string;
|
||||
qrMaster: string | boolean;
|
||||
competitor: string | boolean;
|
||||
note?: string;
|
||||
};
|
||||
|
||||
export type CompetitorProfile = {
|
||||
id: string;
|
||||
name: string;
|
||||
url: string;
|
||||
tagline: string;
|
||||
targetAudience: string;
|
||||
positioning: string;
|
||||
pricing: {
|
||||
free: string;
|
||||
starter: string;
|
||||
pro: string;
|
||||
enterprise?: string;
|
||||
};
|
||||
strengths: string[];
|
||||
weaknesses: string[];
|
||||
bestFor: string[];
|
||||
notIdealFor: string[];
|
||||
commonComplaints: string[];
|
||||
migrationNotes: string;
|
||||
features: FeatureComparison[];
|
||||
};
|
||||
|
||||
export const qrMasterPricing = {
|
||||
free: '€0 — 3 active dynamic QR codes, unlimited static, basic tracking',
|
||||
pro: '€9/month (€90/year) — 50 dynamic QR codes, advanced analytics, custom branding',
|
||||
business: '€29/month (€290/year) — 500 dynamic QR codes, bulk creation up to 1,000, priority support',
|
||||
};
|
||||
|
||||
export const competitors: Record<string, CompetitorProfile> = {
|
||||
'qr-code-generator': {
|
||||
id: 'qr-code-generator',
|
||||
name: 'QR Code Generator (qr-code-generator.com)',
|
||||
url: 'https://www.qr-code-generator.com',
|
||||
tagline: 'Popular generator, deceptive free tier for dynamic codes',
|
||||
targetAudience: 'General public, small businesses, first-time QR users',
|
||||
positioning: 'High-volume consumer QR generator marketed as easy and free',
|
||||
pricing: {
|
||||
free: 'Static QR only — dynamic QR codes deactivated after ~14-day trial',
|
||||
starter: '~€8.99/month (billed annually) for basic dynamic QR',
|
||||
pro: '~€24.99/month (billed annually) for analytics + more codes',
|
||||
},
|
||||
strengths: [
|
||||
'High brand recognition — many people land here first',
|
||||
'Simple interface for first-time users',
|
||||
'Wide variety of QR types supported',
|
||||
'Large template library for QR styling',
|
||||
],
|
||||
weaknesses: [
|
||||
'Dynamic QR codes are free only for ~14 days, then deactivated without warning',
|
||||
'Users who already printed materials are forced into expensive annual contracts',
|
||||
'Pricing is unclear upfront — trial period is not prominently disclosed',
|
||||
'Analytics require paid plan even for basic scan counts',
|
||||
'No bulk creation capability',
|
||||
'US-based servers — GDPR compliance not a priority',
|
||||
],
|
||||
bestFor: [
|
||||
'One-off static QR code generation with no analytics needed',
|
||||
'Users who need a quick, styled QR for a design project',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Any use case involving dynamic QR codes that will go on printed materials',
|
||||
'Businesses that need GDPR-compliant scan tracking',
|
||||
'Teams that need bulk QR creation',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"I printed 500 flyers and my QR code stopped working after 2 weeks"',
|
||||
'"Felt forced into an annual subscription I didn\'t understand I was signing up for"',
|
||||
'"The free dynamic QR is a trap — it gets deactivated right when you\'ve already distributed materials"',
|
||||
'"No way to export or migrate codes if you want to leave"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Static QR codes cannot be migrated — the destination is baked into the image. Dynamic QR codes need to be re-created. In QR Master, create new dynamic QR codes pointing to your same destinations. Then update your printed materials or digital placements to use the new codes. Static codes from QR Code Generator remain permanently valid even after you stop paying.',
|
||||
features: [
|
||||
{ feature: 'Free static QR codes', qrMaster: true, competitor: true },
|
||||
{
|
||||
feature: 'Free dynamic QR codes (permanent)',
|
||||
qrMaster: '3 always-free',
|
||||
competitor: '~14-day trial then deactivated',
|
||||
note: 'QR Code Generator deactivates dynamic codes after trial — even if already printed',
|
||||
},
|
||||
{ feature: 'Transparent pricing upfront', qrMaster: true, competitor: false },
|
||||
{ feature: 'Scan analytics', qrMaster: 'All plans', competitor: 'Paid only' },
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'Custom branding / logo in QR', qrMaster: 'Pro+', competitor: 'Paid plans' },
|
||||
{ feature: 'No forced annual subscription', qrMaster: true, competitor: false },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month',
|
||||
competitor: '~€24.99/month for comparable features',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
flowcode: {
|
||||
id: 'flowcode',
|
||||
name: 'Flowcode',
|
||||
url: 'https://www.flowcode.com',
|
||||
tagline: 'Design-forward QR tool with forced branding and scan-hijacking interstitials',
|
||||
targetAudience: 'Brands, marketers, enterprise design teams',
|
||||
positioning: 'Premium-branded QR code platform emphasizing aesthetics and design',
|
||||
pricing: {
|
||||
free: 'Free — limited codes, Flowcode branding on every QR, interstitial pages on scans',
|
||||
starter: '~$15/month for basic white-label',
|
||||
pro: '~$49/month for team features and full branding removal',
|
||||
enterprise: 'Custom pricing for large teams',
|
||||
},
|
||||
strengths: [
|
||||
'Exceptional QR design options — rounded, branded styles that stand out',
|
||||
'Strong brand recognition in the US market',
|
||||
'Good enterprise team management features',
|
||||
'Analytics dashboard is well-designed',
|
||||
],
|
||||
weaknesses: [
|
||||
'Free tier forces Flowcode logo onto every QR code — your brand takes second place',
|
||||
'Interstitial pages on free tier send scanners through a Flowcode-branded page, stealing attention and analytics',
|
||||
'White-label and clean QR design requires jumping to expensive paid plans',
|
||||
'No bulk QR creation even on paid plans',
|
||||
'US company — GDPR compliance not built in',
|
||||
'Pricing escalates quickly for teams',
|
||||
],
|
||||
bestFor: [
|
||||
'Enterprise brands with budget for premium QR aesthetics and full white-label',
|
||||
'US-based companies prioritizing design over data privacy compliance',
|
||||
'Large teams managing QR codes across multiple campaigns',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Anyone who wants clean QR codes without Flowcode branding on a budget',
|
||||
'EU businesses that need GDPR-compliant tracking',
|
||||
'Marketing teams that need bulk code creation',
|
||||
'SMBs and freelancers who need professional QR without enterprise pricing',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"The free QR codes have Flowcode\'s logo on them, not mine"',
|
||||
'"When customers scan my QR, they see a Flowcode page first — I lose control of the experience"',
|
||||
'"Had to upgrade to $49/month just to get a clean QR code without their branding"',
|
||||
'"No way to create QR codes in bulk even on paid plans"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Flowcode does not provide a bulk export tool. Each dynamic QR code needs to be re-created manually in QR Master. Since Flowcode uses its own redirect infrastructure, your printed QR codes pointing to Flowcode domains will stop working if you cancel — plan migration before canceling. In QR Master, new dynamic QR codes are generated immediately and redirect infrastructure is included in all plans.',
|
||||
features: [
|
||||
{ feature: 'Free dynamic QR codes', qrMaster: '3 always-free', competitor: 'Limited, with branding' },
|
||||
{
|
||||
feature: 'No Flowcode/third-party branding on QR',
|
||||
qrMaster: true,
|
||||
competitor: 'Paid plans only',
|
||||
note: 'Free Flowcode QR codes include Flowcode logo and forced design elements',
|
||||
},
|
||||
{
|
||||
feature: 'No branded interstitial page on scan',
|
||||
qrMaster: 'Fast pass-through — no Flowcode-style marketing page',
|
||||
competitor: 'Paid plans only',
|
||||
note: 'Flowcode free tier shows a branded splash page; QR Master redirects through qrmaster.net without any branded interstitial',
|
||||
},
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'Custom branding (your logo/colors)', qrMaster: 'Pro+', competitor: 'Paid plans' },
|
||||
{ feature: 'Scan analytics', qrMaster: 'All plans', competitor: 'Paid plans' },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month',
|
||||
competitor: '~$49/month for comparable white-label',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
beaconstac: {
|
||||
id: 'beaconstac',
|
||||
name: 'Uniqode (formerly Beaconstac)',
|
||||
url: 'https://www.uniqode.com',
|
||||
tagline: 'Enterprise QR platform — excellent for large orgs, overkill for SMBs',
|
||||
targetAudience: 'Enterprise companies, large agencies, compliance-heavy industries',
|
||||
positioning: 'Enterprise-grade QR code platform with SOC2 compliance, SSO, and deep API access',
|
||||
pricing: {
|
||||
free: 'No free plan — paid-only from the start',
|
||||
starter: '~$5/month (very limited features)',
|
||||
pro: '~$49–99/month for meaningful team and analytics features',
|
||||
enterprise: 'Custom pricing for SOC2, SSO, advanced API',
|
||||
},
|
||||
strengths: [
|
||||
'SOC2 Type II certified — serious enterprise security credentials',
|
||||
'Deep API access for custom integrations',
|
||||
'SSO / SAML support for large organizations',
|
||||
'White-label solution for agencies',
|
||||
'Advanced team management and permissions',
|
||||
'Long track record and brand trust',
|
||||
],
|
||||
weaknesses: [
|
||||
'No free plan — must pay from day one even for basic use',
|
||||
'Meaningful features only unlock at $49–99/month+',
|
||||
'Interface is complex for users who just need to manage 50 dynamic QR codes',
|
||||
'US company — GDPR compliance requires additional configuration',
|
||||
'Bulk creation and API access locked behind higher enterprise tiers',
|
||||
'Setup and onboarding takes longer than simpler tools',
|
||||
],
|
||||
bestFor: [
|
||||
'Enterprises with compliance requirements (SOC2, SAML/SSO)',
|
||||
'Large agencies managing QR codes at scale across multiple clients',
|
||||
'Companies with dedicated IT teams who can leverage the API',
|
||||
'Organizations where a QR vendor going through formal procurement/security review',
|
||||
],
|
||||
notIdealFor: [
|
||||
'SMBs and freelancers who just need reliable dynamic QR + analytics',
|
||||
'EU businesses needing out-of-the-box GDPR-compliant tracking',
|
||||
'Marketing teams who want to start for free and upgrade later',
|
||||
'Anyone who finds the interface overwhelming for a straightforward use case',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"The $5 plan is basically useless — you need to spend $49+ to get anything meaningful"',
|
||||
'"Way too complex for what I need — I just want to manage my 30 QR codes"',
|
||||
'"GDPR compliance required a lot of manual configuration"',
|
||||
'"Expensive and hard to justify for a small marketing team"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Uniqode/Beaconstac allows CSV export of your QR code data. You can download your QR code list and re-create dynamic codes in QR Master. Static QR codes are permanently tied to their destination — if you generated them as static codes, they remain valid forever. For dynamic codes, update your redirect destinations in QR Master and replace any printed materials that point to Uniqode redirect URLs.',
|
||||
features: [
|
||||
{ feature: 'Free plan available', qrMaster: true, competitor: false },
|
||||
{ feature: 'Pricing entry point', qrMaster: '€0 (free tier)', competitor: '~$5/month (limited)' },
|
||||
{
|
||||
feature: 'Meaningful features at base paid plan',
|
||||
qrMaster: '€9/month — analytics, branding, 50 dynamic QRs',
|
||||
competitor: '~$49/month for real team + analytics features',
|
||||
},
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs, out of box)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: 'Enterprise tier' },
|
||||
{ feature: 'SOC2 certification', qrMaster: false, competitor: true, note: 'Enterprise requirement — most SMBs do not need this' },
|
||||
{ feature: 'SSO / SAML', qrMaster: false, competitor: true, note: 'Enterprise requirement' },
|
||||
{ feature: 'Simple onboarding for small teams', qrMaster: true, competitor: false },
|
||||
],
|
||||
},
|
||||
|
||||
bitly: {
|
||||
id: 'bitly',
|
||||
name: 'Bitly',
|
||||
url: 'https://bitly.com',
|
||||
tagline: 'URL shortener with QR codes as a side feature — only 2 QR codes at $10/month',
|
||||
targetAudience: 'Link management users, marketing teams using Bitly for short links',
|
||||
positioning: 'Link management platform that added QR codes as a secondary feature',
|
||||
pricing: {
|
||||
free: 'Free — 1 QR code only',
|
||||
starter: '~$10/month (Core) — "unlimited scans" but only 2 QR codes total',
|
||||
pro: '~$29–35/month — more QR codes but still tightly capped; price jumps fast once you need more',
|
||||
enterprise: 'Custom — needed for meaningful QR code volume',
|
||||
},
|
||||
strengths: [
|
||||
'Very strong brand recognition — many people already use Bitly for link shortening',
|
||||
'Combines link shortening and QR codes in one tool if you need both',
|
||||
'Clean analytics dashboard for link tracking',
|
||||
'Reliable redirect infrastructure',
|
||||
'Good integrations with marketing tools',
|
||||
],
|
||||
weaknesses: [
|
||||
'QR codes are a secondary feature — core product is link shortening',
|
||||
'Core plan (~$10/month) allows "unlimited scans" but only 2 QR codes total — useless for real campaigns',
|
||||
'Need more than 2 QR codes? Pricing jumps disproportionately fast',
|
||||
'Free plan allows only 1 QR code',
|
||||
'No bulk QR creation at any plan level',
|
||||
'No GDPR-specific privacy controls for analytics',
|
||||
'Not built for QR-specific workflows (restaurant menus, product packaging, etc.)',
|
||||
],
|
||||
bestFor: [
|
||||
'Teams already using Bitly for link management who need 1–2 QR codes with no bulk requirements',
|
||||
'Use cases where a QR code is a minor side channel, not a primary campaign element',
|
||||
'Link tracking that happens to include a QR code as one of many channels',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Anyone who needs more than 2 QR codes without paying steep per-step plan upgrades',
|
||||
'Teams needing more than a handful of QR codes',
|
||||
'EU businesses needing GDPR-compliant scan tracking',
|
||||
'Anyone who needs bulk QR creation',
|
||||
'QR code-first workflows like restaurant menus, product packaging, or event materials',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"$10/month and I only get 2 QR codes — that\'s basically unusable for anything real"',
|
||||
'"QR features feel like an afterthought — the UI is built around links, not QR workflows"',
|
||||
'"The free plan gives you exactly 1 QR code — useless for real use"',
|
||||
'"No bulk creation — had to manually create each code one by one"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Bitly short links and QR codes are tied to Bitly\'s redirect infrastructure. If you cancel Bitly, your QR codes that point to bit.ly URLs will stop working. Export your link data from Bitly\'s dashboard before canceling. In QR Master, create new dynamic QR codes pointing directly to your destination URLs — no Bitly redirect layer in between. Replace printed or distributed QR codes with the new QR Master codes.',
|
||||
features: [
|
||||
{ feature: 'Free QR codes', qrMaster: '3 dynamic + unlimited static', competitor: '1 QR code only' },
|
||||
{ feature: 'QR codes on base paid plan (~$10/month)', qrMaster: '50 dynamic QRs (Pro €9/month)', competitor: '2 QR codes total', note: 'Bitly Core plan markets "unlimited scans" but caps you at 2 QR codes' },
|
||||
{ feature: 'Purpose-built for QR management', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'GDPR-compliant analytics', qrMaster: true, competitor: false },
|
||||
{ feature: 'QR codes for restaurant menus, packaging, events', qrMaster: true, competitor: 'Possible but not designed for it' },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month — 50 dynamic QRs, full analytics',
|
||||
competitor: '~$10/month — 2 QR codes only',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
// Centralized competitor data — single source of truth for all comparison pages.
|
||||
// Update pricing/features here and it propagates to all competitor pages.
|
||||
|
||||
export type FeatureComparison = {
|
||||
feature: string;
|
||||
qrMaster: string | boolean;
|
||||
competitor: string | boolean;
|
||||
note?: string;
|
||||
};
|
||||
|
||||
export type CompetitorProfile = {
|
||||
id: string;
|
||||
name: string;
|
||||
url: string;
|
||||
tagline: string;
|
||||
targetAudience: string;
|
||||
positioning: string;
|
||||
pricing: {
|
||||
free: string;
|
||||
starter: string;
|
||||
pro: string;
|
||||
enterprise?: string;
|
||||
};
|
||||
strengths: string[];
|
||||
weaknesses: string[];
|
||||
bestFor: string[];
|
||||
notIdealFor: string[];
|
||||
commonComplaints: string[];
|
||||
migrationNotes: string;
|
||||
features: FeatureComparison[];
|
||||
};
|
||||
|
||||
export const qrMasterPricing = {
|
||||
free: '€0 — 3 active dynamic QR codes, unlimited static, basic tracking',
|
||||
pro: '€9/month (€90/year) — 50 dynamic QR codes, advanced analytics, custom branding',
|
||||
business: '€29/month (€290/year) — 500 dynamic QR codes, bulk creation up to 1,000, priority support',
|
||||
};
|
||||
|
||||
export const competitors: Record<string, CompetitorProfile> = {
|
||||
'qr-code-generator': {
|
||||
id: 'qr-code-generator',
|
||||
name: 'QR Code Generator (qr-code-generator.com)',
|
||||
url: 'https://www.qr-code-generator.com',
|
||||
tagline: 'Popular generator, deceptive free tier for dynamic codes',
|
||||
targetAudience: 'General public, small businesses, first-time QR users',
|
||||
positioning: 'High-volume consumer QR generator marketed as easy and free',
|
||||
pricing: {
|
||||
free: 'Static QR only — dynamic QR codes deactivated after ~14-day trial',
|
||||
starter: '~€8.99/month (billed annually) for basic dynamic QR',
|
||||
pro: '~€24.99/month (billed annually) for analytics + more codes',
|
||||
},
|
||||
strengths: [
|
||||
'High brand recognition — many people land here first',
|
||||
'Simple interface for first-time users',
|
||||
'Wide variety of QR types supported',
|
||||
'Large template library for QR styling',
|
||||
],
|
||||
weaknesses: [
|
||||
'Dynamic QR codes are free only for ~14 days, then deactivated without warning',
|
||||
'Users who already printed materials are forced into expensive annual contracts',
|
||||
'Pricing is unclear upfront — trial period is not prominently disclosed',
|
||||
'Analytics require paid plan even for basic scan counts',
|
||||
'No bulk creation capability',
|
||||
'US-based servers — GDPR compliance not a priority',
|
||||
],
|
||||
bestFor: [
|
||||
'One-off static QR code generation with no analytics needed',
|
||||
'Users who need a quick, styled QR for a design project',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Any use case involving dynamic QR codes that will go on printed materials',
|
||||
'Businesses that need GDPR-compliant scan tracking',
|
||||
'Teams that need bulk QR creation',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"I printed 500 flyers and my QR code stopped working after 2 weeks"',
|
||||
'"Felt forced into an annual subscription I didn\'t understand I was signing up for"',
|
||||
'"The free dynamic QR is a trap — it gets deactivated right when you\'ve already distributed materials"',
|
||||
'"No way to export or migrate codes if you want to leave"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Static QR codes cannot be migrated — the destination is baked into the image. Dynamic QR codes need to be re-created. In QR Master, create new dynamic QR codes pointing to your same destinations. Then update your printed materials or digital placements to use the new codes. Static codes from QR Code Generator remain permanently valid even after you stop paying.',
|
||||
features: [
|
||||
{ feature: 'Free static QR codes', qrMaster: true, competitor: true },
|
||||
{
|
||||
feature: 'Free dynamic QR codes (permanent)',
|
||||
qrMaster: '3 always-free',
|
||||
competitor: '~14-day trial then deactivated',
|
||||
note: 'QR Code Generator deactivates dynamic codes after trial — even if already printed',
|
||||
},
|
||||
{ feature: 'Transparent pricing upfront', qrMaster: true, competitor: false },
|
||||
{ feature: 'Scan analytics', qrMaster: 'All plans', competitor: 'Paid only' },
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'Custom branding / logo in QR', qrMaster: 'Pro+', competitor: 'Paid plans' },
|
||||
{ feature: 'No forced annual subscription', qrMaster: true, competitor: false },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month',
|
||||
competitor: '~€24.99/month for comparable features',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
flowcode: {
|
||||
id: 'flowcode',
|
||||
name: 'Flowcode',
|
||||
url: 'https://www.flowcode.com',
|
||||
tagline: 'Design-forward QR tool with forced branding and scan-hijacking interstitials',
|
||||
targetAudience: 'Brands, marketers, enterprise design teams',
|
||||
positioning: 'Premium-branded QR code platform emphasizing aesthetics and design',
|
||||
pricing: {
|
||||
free: 'Free — limited codes, Flowcode branding on every QR, interstitial pages on scans',
|
||||
starter: '~$15/month for basic white-label',
|
||||
pro: '~$49/month for team features and full branding removal',
|
||||
enterprise: 'Custom pricing for large teams',
|
||||
},
|
||||
strengths: [
|
||||
'Exceptional QR design options — rounded, branded styles that stand out',
|
||||
'Strong brand recognition in the US market',
|
||||
'Good enterprise team management features',
|
||||
'Analytics dashboard is well-designed',
|
||||
],
|
||||
weaknesses: [
|
||||
'Free tier forces Flowcode logo onto every QR code — your brand takes second place',
|
||||
'Interstitial pages on free tier send scanners through a Flowcode-branded page, stealing attention and analytics',
|
||||
'White-label and clean QR design requires jumping to expensive paid plans',
|
||||
'No bulk QR creation even on paid plans',
|
||||
'US company — GDPR compliance not built in',
|
||||
'Pricing escalates quickly for teams',
|
||||
],
|
||||
bestFor: [
|
||||
'Enterprise brands with budget for premium QR aesthetics and full white-label',
|
||||
'US-based companies prioritizing design over data privacy compliance',
|
||||
'Large teams managing QR codes across multiple campaigns',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Anyone who wants clean QR codes without Flowcode branding on a budget',
|
||||
'EU businesses that need GDPR-compliant tracking',
|
||||
'Marketing teams that need bulk code creation',
|
||||
'SMBs and freelancers who need professional QR without enterprise pricing',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"The free QR codes have Flowcode\'s logo on them, not mine"',
|
||||
'"When customers scan my QR, they see a Flowcode page first — I lose control of the experience"',
|
||||
'"Had to upgrade to $49/month just to get a clean QR code without their branding"',
|
||||
'"No way to create QR codes in bulk even on paid plans"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Flowcode does not provide a bulk export tool. Each dynamic QR code needs to be re-created manually in QR Master. Since Flowcode uses its own redirect infrastructure, your printed QR codes pointing to Flowcode domains will stop working if you cancel — plan migration before canceling. In QR Master, new dynamic QR codes are generated immediately and redirect infrastructure is included in all plans.',
|
||||
features: [
|
||||
{ feature: 'Free dynamic QR codes', qrMaster: '3 always-free', competitor: 'Limited, with branding' },
|
||||
{
|
||||
feature: 'No Flowcode/third-party branding on QR',
|
||||
qrMaster: true,
|
||||
competitor: 'Paid plans only',
|
||||
note: 'Free Flowcode QR codes include Flowcode logo and forced design elements',
|
||||
},
|
||||
{
|
||||
feature: 'No branded interstitial page on scan',
|
||||
qrMaster: 'Fast pass-through — no Flowcode-style marketing page',
|
||||
competitor: 'Paid plans only',
|
||||
note: 'Flowcode free tier shows a branded splash page; QR Master redirects through qrmaster.net without any branded interstitial',
|
||||
},
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'Custom branding (your logo/colors)', qrMaster: 'Pro+', competitor: 'Paid plans' },
|
||||
{ feature: 'Scan analytics', qrMaster: 'All plans', competitor: 'Paid plans' },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month',
|
||||
competitor: '~$49/month for comparable white-label',
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
beaconstac: {
|
||||
id: 'beaconstac',
|
||||
name: 'Uniqode (formerly Beaconstac)',
|
||||
url: 'https://www.uniqode.com',
|
||||
tagline: 'Enterprise QR platform — excellent for large orgs, overkill for SMBs',
|
||||
targetAudience: 'Enterprise companies, large agencies, compliance-heavy industries',
|
||||
positioning: 'Enterprise-grade QR code platform with SOC2 compliance, SSO, and deep API access',
|
||||
pricing: {
|
||||
free: 'No free plan — paid-only from the start',
|
||||
starter: '~$5/month (very limited features)',
|
||||
pro: '~$49–99/month for meaningful team and analytics features',
|
||||
enterprise: 'Custom pricing for SOC2, SSO, advanced API',
|
||||
},
|
||||
strengths: [
|
||||
'SOC2 Type II certified — serious enterprise security credentials',
|
||||
'Deep API access for custom integrations',
|
||||
'SSO / SAML support for large organizations',
|
||||
'White-label solution for agencies',
|
||||
'Advanced team management and permissions',
|
||||
'Long track record and brand trust',
|
||||
],
|
||||
weaknesses: [
|
||||
'No free plan — must pay from day one even for basic use',
|
||||
'Meaningful features only unlock at $49–99/month+',
|
||||
'Interface is complex for users who just need to manage 50 dynamic QR codes',
|
||||
'US company — GDPR compliance requires additional configuration',
|
||||
'Bulk creation and API access locked behind higher enterprise tiers',
|
||||
'Setup and onboarding takes longer than simpler tools',
|
||||
],
|
||||
bestFor: [
|
||||
'Enterprises with compliance requirements (SOC2, SAML/SSO)',
|
||||
'Large agencies managing QR codes at scale across multiple clients',
|
||||
'Companies with dedicated IT teams who can leverage the API',
|
||||
'Organizations where a QR vendor going through formal procurement/security review',
|
||||
],
|
||||
notIdealFor: [
|
||||
'SMBs and freelancers who just need reliable dynamic QR + analytics',
|
||||
'EU businesses needing out-of-the-box GDPR-compliant tracking',
|
||||
'Marketing teams who want to start for free and upgrade later',
|
||||
'Anyone who finds the interface overwhelming for a straightforward use case',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"The $5 plan is basically useless — you need to spend $49+ to get anything meaningful"',
|
||||
'"Way too complex for what I need — I just want to manage my 30 QR codes"',
|
||||
'"GDPR compliance required a lot of manual configuration"',
|
||||
'"Expensive and hard to justify for a small marketing team"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Uniqode/Beaconstac allows CSV export of your QR code data. You can download your QR code list and re-create dynamic codes in QR Master. Static QR codes are permanently tied to their destination — if you generated them as static codes, they remain valid forever. For dynamic codes, update your redirect destinations in QR Master and replace any printed materials that point to Uniqode redirect URLs.',
|
||||
features: [
|
||||
{ feature: 'Free plan available', qrMaster: true, competitor: false },
|
||||
{ feature: 'Pricing entry point', qrMaster: '€0 (free tier)', competitor: '~$5/month (limited)' },
|
||||
{
|
||||
feature: 'Meaningful features at base paid plan',
|
||||
qrMaster: '€9/month — analytics, branding, 50 dynamic QRs',
|
||||
competitor: '~$49/month for real team + analytics features',
|
||||
},
|
||||
{ feature: 'GDPR-compliant analytics (hashed IPs, out of box)', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: 'Enterprise tier' },
|
||||
{ feature: 'SOC2 certification', qrMaster: false, competitor: true, note: 'Enterprise requirement — most SMBs do not need this' },
|
||||
{ feature: 'SSO / SAML', qrMaster: false, competitor: true, note: 'Enterprise requirement' },
|
||||
{ feature: 'Simple onboarding for small teams', qrMaster: true, competitor: false },
|
||||
],
|
||||
},
|
||||
|
||||
bitly: {
|
||||
id: 'bitly',
|
||||
name: 'Bitly',
|
||||
url: 'https://bitly.com',
|
||||
tagline: 'URL shortener with QR codes as a side feature — only 2 QR codes at $10/month',
|
||||
targetAudience: 'Link management users, marketing teams using Bitly for short links',
|
||||
positioning: 'Link management platform that added QR codes as a secondary feature',
|
||||
pricing: {
|
||||
free: 'Free — 1 QR code only',
|
||||
starter: '~$10/month (Core) — "unlimited scans" but only 2 QR codes total',
|
||||
pro: '~$29–35/month — more QR codes but still tightly capped; price jumps fast once you need more',
|
||||
enterprise: 'Custom — needed for meaningful QR code volume',
|
||||
},
|
||||
strengths: [
|
||||
'Very strong brand recognition — many people already use Bitly for link shortening',
|
||||
'Combines link shortening and QR codes in one tool if you need both',
|
||||
'Clean analytics dashboard for link tracking',
|
||||
'Reliable redirect infrastructure',
|
||||
'Good integrations with marketing tools',
|
||||
],
|
||||
weaknesses: [
|
||||
'QR codes are a secondary feature — core product is link shortening',
|
||||
'Core plan (~$10/month) allows "unlimited scans" but only 2 QR codes total — useless for real campaigns',
|
||||
'Need more than 2 QR codes? Pricing jumps disproportionately fast',
|
||||
'Free plan allows only 1 QR code',
|
||||
'No bulk QR creation at any plan level',
|
||||
'No GDPR-specific privacy controls for analytics',
|
||||
'Not built for QR-specific workflows (restaurant menus, product packaging, etc.)',
|
||||
],
|
||||
bestFor: [
|
||||
'Teams already using Bitly for link management who need 1–2 QR codes with no bulk requirements',
|
||||
'Use cases where a QR code is a minor side channel, not a primary campaign element',
|
||||
'Link tracking that happens to include a QR code as one of many channels',
|
||||
],
|
||||
notIdealFor: [
|
||||
'Anyone who needs more than 2 QR codes without paying steep per-step plan upgrades',
|
||||
'Teams needing more than a handful of QR codes',
|
||||
'EU businesses needing GDPR-compliant scan tracking',
|
||||
'Anyone who needs bulk QR creation',
|
||||
'QR code-first workflows like restaurant menus, product packaging, or event materials',
|
||||
],
|
||||
commonComplaints: [
|
||||
'"$10/month and I only get 2 QR codes — that\'s basically unusable for anything real"',
|
||||
'"QR features feel like an afterthought — the UI is built around links, not QR workflows"',
|
||||
'"The free plan gives you exactly 1 QR code — useless for real use"',
|
||||
'"No bulk creation — had to manually create each code one by one"',
|
||||
],
|
||||
migrationNotes:
|
||||
'Bitly short links and QR codes are tied to Bitly\'s redirect infrastructure. If you cancel Bitly, your QR codes that point to bit.ly URLs will stop working. Export your link data from Bitly\'s dashboard before canceling. In QR Master, create new dynamic QR codes pointing directly to your destination URLs — no Bitly redirect layer in between. Replace printed or distributed QR codes with the new QR Master codes.',
|
||||
features: [
|
||||
{ feature: 'Free QR codes', qrMaster: '3 dynamic + unlimited static', competitor: '1 QR code only' },
|
||||
{ feature: 'QR codes on base paid plan (~$10/month)', qrMaster: '50 dynamic QRs (Pro €9/month)', competitor: '2 QR codes total', note: 'Bitly Core plan markets "unlimited scans" but caps you at 2 QR codes' },
|
||||
{ feature: 'Purpose-built for QR management', qrMaster: true, competitor: false },
|
||||
{ feature: 'Bulk QR creation', qrMaster: 'Business plan (up to 1,000)', competitor: false },
|
||||
{ feature: 'GDPR-compliant analytics', qrMaster: true, competitor: false },
|
||||
{ feature: 'QR codes for restaurant menus, packaging, events', qrMaster: true, competitor: 'Possible but not designed for it' },
|
||||
{
|
||||
feature: 'Pro pricing',
|
||||
qrMaster: '€9/month — 50 dynamic QRs, full analytics',
|
||||
competitor: '~$10/month — 2 QR codes only',
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,68 +1,68 @@
|
||||
import * as crypto from 'crypto';
|
||||
|
||||
const BASE_URL = 'https://graph.facebook.com/v21.0';
|
||||
const PIXEL_ID = process.env.META_PIXEL_ID;
|
||||
const ACCESS_TOKEN = process.env.META_ACCESS_TOKEN;
|
||||
|
||||
function hashValue(value: string): string {
|
||||
return crypto.createHash('sha256').update(value.trim().toLowerCase()).digest('hex');
|
||||
}
|
||||
|
||||
interface UserData {
|
||||
email?: string;
|
||||
ip?: string;
|
||||
userAgent?: string;
|
||||
fbc?: string;
|
||||
fbp?: string;
|
||||
}
|
||||
|
||||
interface ConversionEvent {
|
||||
eventName: 'CompleteRegistration' | 'Purchase' | 'ViewContent' | 'Lead' | 'InitiateCheckout';
|
||||
eventTime?: number;
|
||||
eventSourceUrl?: string;
|
||||
userData: UserData;
|
||||
customData?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export async function sendConversionEvent(event: ConversionEvent): Promise<void> {
|
||||
if (!PIXEL_ID || !ACCESS_TOKEN) {
|
||||
return;
|
||||
}
|
||||
|
||||
const hashedUserData: Record<string, string> = {};
|
||||
if (event.userData.email) hashedUserData.em = hashValue(event.userData.email);
|
||||
if (event.userData.ip) hashedUserData.client_ip_address = event.userData.ip;
|
||||
if (event.userData.userAgent) hashedUserData.client_user_agent = event.userData.userAgent;
|
||||
if (event.userData.fbc) hashedUserData.fbc = event.userData.fbc;
|
||||
if (event.userData.fbp) hashedUserData.fbp = event.userData.fbp;
|
||||
|
||||
const payload = {
|
||||
data: [
|
||||
{
|
||||
event_name: event.eventName,
|
||||
event_time: event.eventTime ?? Math.floor(Date.now() / 1000),
|
||||
event_source_url: event.eventSourceUrl ?? process.env.NEXT_PUBLIC_APP_URL,
|
||||
action_source: 'website',
|
||||
user_data: hashedUserData,
|
||||
custom_data: event.customData ?? {},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
try {
|
||||
const res = await fetch(`${BASE_URL}/${PIXEL_ID}/events?access_token=${ACCESS_TOKEN}`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
|
||||
if (!res.ok) {
|
||||
const err = await res.json();
|
||||
console.error('[Meta CAPI] Error:', err);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('[Meta CAPI] Network error:', error);
|
||||
}
|
||||
}
|
||||
|
||||
export { hashValue };
|
||||
import * as crypto from 'crypto';
|
||||
|
||||
const BASE_URL = 'https://graph.facebook.com/v21.0';
|
||||
const PIXEL_ID = process.env.META_PIXEL_ID;
|
||||
const ACCESS_TOKEN = process.env.META_ACCESS_TOKEN;
|
||||
|
||||
function hashValue(value: string): string {
|
||||
return crypto.createHash('sha256').update(value.trim().toLowerCase()).digest('hex');
|
||||
}
|
||||
|
||||
interface UserData {
|
||||
email?: string;
|
||||
ip?: string;
|
||||
userAgent?: string;
|
||||
fbc?: string;
|
||||
fbp?: string;
|
||||
}
|
||||
|
||||
interface ConversionEvent {
|
||||
eventName: 'CompleteRegistration' | 'Purchase' | 'ViewContent' | 'Lead' | 'InitiateCheckout';
|
||||
eventTime?: number;
|
||||
eventSourceUrl?: string;
|
||||
userData: UserData;
|
||||
customData?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export async function sendConversionEvent(event: ConversionEvent): Promise<void> {
|
||||
if (!PIXEL_ID || !ACCESS_TOKEN) {
|
||||
return;
|
||||
}
|
||||
|
||||
const hashedUserData: Record<string, string> = {};
|
||||
if (event.userData.email) hashedUserData.em = hashValue(event.userData.email);
|
||||
if (event.userData.ip) hashedUserData.client_ip_address = event.userData.ip;
|
||||
if (event.userData.userAgent) hashedUserData.client_user_agent = event.userData.userAgent;
|
||||
if (event.userData.fbc) hashedUserData.fbc = event.userData.fbc;
|
||||
if (event.userData.fbp) hashedUserData.fbp = event.userData.fbp;
|
||||
|
||||
const payload = {
|
||||
data: [
|
||||
{
|
||||
event_name: event.eventName,
|
||||
event_time: event.eventTime ?? Math.floor(Date.now() / 1000),
|
||||
event_source_url: event.eventSourceUrl ?? process.env.NEXT_PUBLIC_APP_URL,
|
||||
action_source: 'website',
|
||||
user_data: hashedUserData,
|
||||
custom_data: event.customData ?? {},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
try {
|
||||
const res = await fetch(`${BASE_URL}/${PIXEL_ID}/events?access_token=${ACCESS_TOKEN}`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(payload),
|
||||
});
|
||||
|
||||
if (!res.ok) {
|
||||
const err = await res.json();
|
||||
console.error('[Meta CAPI] Error:', err);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('[Meta CAPI] Network error:', error);
|
||||
}
|
||||
}
|
||||
|
||||
export { hashValue };
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
export const FREE_DYNAMIC_QR_LIMIT = 3;
|
||||
export const PRO_DYNAMIC_QR_LIMIT = 50;
|
||||
export const BUSINESS_DYNAMIC_QR_LIMIT = 500;
|
||||
|
||||
export const DYNAMIC_QR_LIMITS = {
|
||||
FREE: FREE_DYNAMIC_QR_LIMIT,
|
||||
PRO: PRO_DYNAMIC_QR_LIMIT,
|
||||
BUSINESS: BUSINESS_DYNAMIC_QR_LIMIT,
|
||||
ENTERPRISE: 99999,
|
||||
} as const;
|
||||
export const FREE_DYNAMIC_QR_LIMIT = 3;
|
||||
export const PRO_DYNAMIC_QR_LIMIT = 50;
|
||||
export const BUSINESS_DYNAMIC_QR_LIMIT = 500;
|
||||
|
||||
export const DYNAMIC_QR_LIMITS = {
|
||||
FREE: FREE_DYNAMIC_QR_LIMIT,
|
||||
PRO: PRO_DYNAMIC_QR_LIMIT,
|
||||
BUSINESS: BUSINESS_DYNAMIC_QR_LIMIT,
|
||||
ENTERPRISE: 99999,
|
||||
} as const;
|
||||
|
||||
@@ -1,84 +1,84 @@
|
||||
import type { FAQItem } from "@/lib/types";
|
||||
|
||||
export type SeoIntentStage = "top" | "middle" | "bottom";
|
||||
|
||||
export type SeoPrimaryCta = {
|
||||
href: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type SeoRelatedLink = {
|
||||
href: string;
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type ComparisonType =
|
||||
| "alternative"
|
||||
| "versus"
|
||||
| "feature"
|
||||
| "model";
|
||||
|
||||
export type GuideType = "problem-solving" | "strategic";
|
||||
|
||||
export type ComparisonScorecardRow = {
|
||||
topic: string;
|
||||
qrMaster: string;
|
||||
alternative: string;
|
||||
};
|
||||
|
||||
export type ComparisonDecisionPoint = {
|
||||
label: string;
|
||||
winner: "qr-master" | "alternative" | "depends";
|
||||
reason: string;
|
||||
};
|
||||
|
||||
export type ComparisonPage = {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
canonicalPath: string;
|
||||
targetKeyword: string;
|
||||
comparisonType: ComparisonType;
|
||||
intentStage: SeoIntentStage;
|
||||
cluster: string;
|
||||
primaryEntity: string;
|
||||
secondaryEntity: string;
|
||||
intro: string;
|
||||
quickAnswer: string;
|
||||
scorecard: ComparisonScorecardRow[];
|
||||
decisionPoints: ComparisonDecisionPoint[];
|
||||
bestForQrMaster: string[];
|
||||
bestForAlternative: string[];
|
||||
migrationSteps: string[];
|
||||
faq: FAQItem[];
|
||||
primaryCta: SeoPrimaryCta;
|
||||
secondaryCta: SeoPrimaryCta;
|
||||
relatedLinks: SeoRelatedLink[];
|
||||
};
|
||||
|
||||
export type GuideChecklistSection = {
|
||||
title: string;
|
||||
items: string[];
|
||||
};
|
||||
|
||||
export type GuidePage = {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
canonicalPath: string;
|
||||
targetKeyword: string;
|
||||
guideType: GuideType;
|
||||
intentStage: SeoIntentStage;
|
||||
cluster: string;
|
||||
intro: string;
|
||||
quickAnswer: string;
|
||||
symptoms?: string[];
|
||||
howToSteps: string[];
|
||||
keyTakeaways: string[];
|
||||
checklist?: GuideChecklistSection;
|
||||
faq: FAQItem[];
|
||||
primaryCta: SeoPrimaryCta;
|
||||
secondaryCta: SeoPrimaryCta;
|
||||
relatedLinks: SeoRelatedLink[];
|
||||
};
|
||||
import type { FAQItem } from "@/lib/types";
|
||||
|
||||
export type SeoIntentStage = "top" | "middle" | "bottom";
|
||||
|
||||
export type SeoPrimaryCta = {
|
||||
href: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type SeoRelatedLink = {
|
||||
href: string;
|
||||
title: string;
|
||||
description: string;
|
||||
};
|
||||
|
||||
export type ComparisonType =
|
||||
| "alternative"
|
||||
| "versus"
|
||||
| "feature"
|
||||
| "model";
|
||||
|
||||
export type GuideType = "problem-solving" | "strategic";
|
||||
|
||||
export type ComparisonScorecardRow = {
|
||||
topic: string;
|
||||
qrMaster: string;
|
||||
alternative: string;
|
||||
};
|
||||
|
||||
export type ComparisonDecisionPoint = {
|
||||
label: string;
|
||||
winner: "qr-master" | "alternative" | "depends";
|
||||
reason: string;
|
||||
};
|
||||
|
||||
export type ComparisonPage = {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
canonicalPath: string;
|
||||
targetKeyword: string;
|
||||
comparisonType: ComparisonType;
|
||||
intentStage: SeoIntentStage;
|
||||
cluster: string;
|
||||
primaryEntity: string;
|
||||
secondaryEntity: string;
|
||||
intro: string;
|
||||
quickAnswer: string;
|
||||
scorecard: ComparisonScorecardRow[];
|
||||
decisionPoints: ComparisonDecisionPoint[];
|
||||
bestForQrMaster: string[];
|
||||
bestForAlternative: string[];
|
||||
migrationSteps: string[];
|
||||
faq: FAQItem[];
|
||||
primaryCta: SeoPrimaryCta;
|
||||
secondaryCta: SeoPrimaryCta;
|
||||
relatedLinks: SeoRelatedLink[];
|
||||
};
|
||||
|
||||
export type GuideChecklistSection = {
|
||||
title: string;
|
||||
items: string[];
|
||||
};
|
||||
|
||||
export type GuidePage = {
|
||||
slug: string;
|
||||
title: string;
|
||||
description: string;
|
||||
canonicalPath: string;
|
||||
targetKeyword: string;
|
||||
guideType: GuideType;
|
||||
intentStage: SeoIntentStage;
|
||||
cluster: string;
|
||||
intro: string;
|
||||
quickAnswer: string;
|
||||
symptoms?: string[];
|
||||
howToSteps: string[];
|
||||
keyTakeaways: string[];
|
||||
checklist?: GuideChecklistSection;
|
||||
faq: FAQItem[];
|
||||
primaryCta: SeoPrimaryCta;
|
||||
secondaryCta: SeoPrimaryCta;
|
||||
relatedLinks: SeoRelatedLink[];
|
||||
};
|
||||
|
||||
@@ -1,370 +1,370 @@
|
||||
export const ATTRIBUTION_COOKIE_NAME = 'qrmaster_first_touch';
|
||||
export const ONBOARDING_CHECKLIST_DISMISS_KEY = 'qrmaster_onboarding_checklist_dismissed';
|
||||
export const ONBOARDING_DOWNLOAD_COMPLETE_KEY = 'qrmaster_onboarding_download_complete';
|
||||
export const ONBOARDING_DOWNLOAD_COMPLETE_EVENT = 'qrmaster:onboarding-download-complete';
|
||||
|
||||
export type LifecycleStage =
|
||||
| 'cold'
|
||||
| 'activated'
|
||||
| 'warm'
|
||||
| 'hot'
|
||||
| 'upgrade_candidate'
|
||||
| 'paid';
|
||||
|
||||
export type SignupSourceOption = {
|
||||
value: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type OnboardingOption = {
|
||||
value: string;
|
||||
label: string;
|
||||
description?: string;
|
||||
};
|
||||
|
||||
export type AttributionSnapshot = {
|
||||
signupSource?: string | null;
|
||||
signupMedium?: string | null;
|
||||
signupCampaign?: string | null;
|
||||
signupContent?: string | null;
|
||||
signupTerm?: string | null;
|
||||
signupReferrer?: string | null;
|
||||
signupLandingPath?: string | null;
|
||||
signupFirstSeenAt?: string | null;
|
||||
};
|
||||
|
||||
const FREEMAIL_DOMAINS = new Set([
|
||||
'gmail.com',
|
||||
'yahoo.com',
|
||||
'hotmail.com',
|
||||
'outlook.com',
|
||||
'icloud.com',
|
||||
'gmx.de',
|
||||
'gmx.net',
|
||||
'web.de',
|
||||
'mail.com',
|
||||
'aol.com',
|
||||
'proton.me',
|
||||
'protonmail.com',
|
||||
]);
|
||||
|
||||
export const SIGNUP_SOURCE_OPTIONS: SignupSourceOption[] = [
|
||||
{ value: 'google_search', label: 'Google Search' },
|
||||
{ value: 'instagram', label: 'Instagram' },
|
||||
{ value: 'facebook', label: 'Facebook' },
|
||||
{ value: 'tiktok', label: 'TikTok' },
|
||||
{ value: 'linkedin', label: 'LinkedIn' },
|
||||
{ value: 'youtube', label: 'YouTube' },
|
||||
{ value: 'blog_article', label: 'Blog or article' },
|
||||
{ value: 'friend_colleague', label: 'Friend or colleague' },
|
||||
{ value: 'direct', label: 'Direct / I typed the URL' },
|
||||
{ value: 'other', label: 'Other' },
|
||||
];
|
||||
|
||||
export const PRIMARY_USE_CASE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'website_qr', label: 'Website QR Code' },
|
||||
{ value: 'menu_pdf', label: 'Menu or PDF QR Code' },
|
||||
{ value: 'contact_card', label: 'Contact Card QR Code' },
|
||||
{ value: 'wifi_qr', label: 'WiFi QR Code' },
|
||||
{ value: 'marketing_campaign', label: 'Marketing Campaign QR Code' },
|
||||
{ value: 'barcode', label: 'Barcode' },
|
||||
{ value: 'bulk_qr', label: 'Bulk QR Codes' },
|
||||
{ value: 'something_else', label: 'Something else' },
|
||||
];
|
||||
|
||||
export const PRIMARY_GOAL_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'drive_website_traffic', label: 'Drive website traffic' },
|
||||
{ value: 'track_printed_campaigns', label: 'Track printed campaigns' },
|
||||
{ value: 'share_contact_details', label: 'Share contact details' },
|
||||
{ value: 'replace_printed_menus', label: 'Replace printed menus' },
|
||||
{ value: 'generate_leads', label: 'Generate leads' },
|
||||
{ value: 'label_products', label: 'Label products' },
|
||||
{ value: 'manage_multiple_qr_codes', label: 'Manage multiple QR codes' },
|
||||
{ value: 'something_else', label: 'Something else' },
|
||||
];
|
||||
|
||||
export const JOB_ROLE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'founder_owner', label: 'Founder / Owner' },
|
||||
{ value: 'marketing_manager', label: 'Marketing Manager' },
|
||||
{ value: 'operations', label: 'Operations' },
|
||||
{ value: 'agency_freelancer', label: 'Agency / Freelancer' },
|
||||
{ value: 'it_technical', label: 'IT / Technical' },
|
||||
{ value: 'sales', label: 'Sales' },
|
||||
{ value: 'designer', label: 'Designer' },
|
||||
{ value: 'other', label: 'Other' },
|
||||
];
|
||||
|
||||
export const TEAM_SIZE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'just_me', label: 'Just me' },
|
||||
{ value: '2_5', label: '2–5' },
|
||||
{ value: '6_20', label: '6–20' },
|
||||
{ value: '21_100', label: '21–100' },
|
||||
{ value: '100_plus', label: '100+' },
|
||||
];
|
||||
|
||||
export function serializeAttributionCookie(snapshot: AttributionSnapshot): string {
|
||||
return JSON.stringify(snapshot);
|
||||
}
|
||||
|
||||
export function parseAttributionCookie(value?: string | null): AttributionSnapshot | null {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(value) as AttributionSnapshot;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function getEmailDomain(email?: string | null): string | null {
|
||||
if (!email || !email.includes('@')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return email.split('@')[1]?.trim().toLowerCase() || null;
|
||||
}
|
||||
|
||||
export function isFreemailDomain(domain?: string | null): boolean {
|
||||
return Boolean(domain && FREEMAIL_DOMAINS.has(domain.toLowerCase()));
|
||||
}
|
||||
|
||||
export function getSourceLabel(value?: string | null): string {
|
||||
const option = SIGNUP_SOURCE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getUseCaseLabel(value?: string | null): string {
|
||||
const option = PRIMARY_USE_CASE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getGoalLabel(value?: string | null): string {
|
||||
const option = PRIMARY_GOAL_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getRoleLabel(value?: string | null): string {
|
||||
const option = JOB_ROLE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getTeamSizeLabel(value?: string | null): string {
|
||||
const option = TEAM_SIZE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function normalizeSource(input: {
|
||||
utmSource?: string | null;
|
||||
referrer?: string | null;
|
||||
landingPath?: string | null;
|
||||
}): string {
|
||||
const utmSource = input.utmSource?.toLowerCase().trim();
|
||||
const referrer = input.referrer?.toLowerCase().trim();
|
||||
const landingPath = input.landingPath?.toLowerCase().trim();
|
||||
|
||||
if (utmSource) {
|
||||
if (utmSource.includes('google')) return 'google_search';
|
||||
if (utmSource.includes('instagram')) return 'instagram';
|
||||
if (utmSource.includes('facebook') || utmSource.includes('meta')) return 'facebook';
|
||||
if (utmSource.includes('tiktok')) return 'tiktok';
|
||||
if (utmSource.includes('linkedin')) return 'linkedin';
|
||||
if (utmSource.includes('youtube')) return 'youtube';
|
||||
if (utmSource.includes('blog') || utmSource.includes('article') || utmSource.includes('seo')) return 'blog_article';
|
||||
}
|
||||
|
||||
if (referrer) {
|
||||
if (referrer.includes('google.')) return 'google_search';
|
||||
if (referrer.includes('instagram.')) return 'instagram';
|
||||
if (referrer.includes('facebook.') || referrer.includes('fb.com')) return 'facebook';
|
||||
if (referrer.includes('tiktok.')) return 'tiktok';
|
||||
if (referrer.includes('linkedin.')) return 'linkedin';
|
||||
if (referrer.includes('youtube.')) return 'youtube';
|
||||
if (referrer.includes('medium.com') || referrer.includes('substack.com') || referrer.includes('/blog')) return 'blog_article';
|
||||
}
|
||||
|
||||
if (landingPath && landingPath.startsWith('/blog')) {
|
||||
return 'blog_article';
|
||||
}
|
||||
|
||||
return 'direct';
|
||||
}
|
||||
|
||||
export function buildAttributionSnapshot(params: {
|
||||
utmSource?: string | null;
|
||||
utmMedium?: string | null;
|
||||
utmCampaign?: string | null;
|
||||
utmContent?: string | null;
|
||||
utmTerm?: string | null;
|
||||
referrer?: string | null;
|
||||
landingPath?: string | null;
|
||||
firstSeenAt?: Date | string | null;
|
||||
}): AttributionSnapshot {
|
||||
const signupFirstSeenAt =
|
||||
params.firstSeenAt instanceof Date
|
||||
? params.firstSeenAt.toISOString()
|
||||
: params.firstSeenAt || new Date().toISOString();
|
||||
|
||||
return {
|
||||
signupSource: normalizeSource({
|
||||
utmSource: params.utmSource,
|
||||
referrer: params.referrer,
|
||||
landingPath: params.landingPath,
|
||||
}),
|
||||
signupMedium: params.utmMedium || null,
|
||||
signupCampaign: params.utmCampaign || null,
|
||||
signupContent: params.utmContent || null,
|
||||
signupTerm: params.utmTerm || null,
|
||||
signupReferrer: params.referrer || null,
|
||||
signupLandingPath: params.landingPath || null,
|
||||
signupFirstSeenAt,
|
||||
};
|
||||
}
|
||||
|
||||
export function shouldResumeOnboarding(user: {
|
||||
onboardingStartedAt?: Date | null;
|
||||
onboardingCompletedAt?: Date | null;
|
||||
} | null): boolean {
|
||||
if (!user) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Boolean(user.onboardingStartedAt && !user.onboardingCompletedAt);
|
||||
}
|
||||
|
||||
export function getLifecycleStageLabel(stage?: string | null): string {
|
||||
switch (stage) {
|
||||
case 'activated':
|
||||
return 'Activated';
|
||||
case 'warm':
|
||||
return 'Warm';
|
||||
case 'hot':
|
||||
return 'Hot';
|
||||
case 'upgrade_candidate':
|
||||
return 'Upgrade Candidate';
|
||||
case 'paid':
|
||||
return 'Paid';
|
||||
default:
|
||||
return 'Cold';
|
||||
}
|
||||
}
|
||||
|
||||
export function getOnboardingHeadlineForUseCase(useCase?: string | null): string {
|
||||
switch (useCase) {
|
||||
case 'marketing_campaign':
|
||||
return 'Create your first campaign QR code';
|
||||
case 'menu_pdf':
|
||||
return 'Create your first menu QR code';
|
||||
case 'contact_card':
|
||||
return 'Create your first contact QR code';
|
||||
case 'barcode':
|
||||
return 'Create your first barcode';
|
||||
case 'bulk_qr':
|
||||
return 'Set up your first business-ready QR';
|
||||
default:
|
||||
return 'Create your first QR code';
|
||||
}
|
||||
}
|
||||
|
||||
export function getCreatePresetForUseCase(useCase?: string | null): {
|
||||
contentType: string;
|
||||
dynamic: boolean;
|
||||
title: string;
|
||||
content: Record<string, string>;
|
||||
} {
|
||||
switch (useCase) {
|
||||
case 'menu_pdf':
|
||||
return {
|
||||
contentType: 'PDF',
|
||||
dynamic: true,
|
||||
title: 'Restaurant menu',
|
||||
content: {},
|
||||
};
|
||||
case 'contact_card':
|
||||
return {
|
||||
contentType: 'VCARD',
|
||||
dynamic: true,
|
||||
title: 'Business contact card',
|
||||
content: {},
|
||||
};
|
||||
case 'barcode':
|
||||
return {
|
||||
contentType: 'BARCODE',
|
||||
dynamic: false,
|
||||
title: 'Product barcode',
|
||||
content: { format: 'CODE128' },
|
||||
};
|
||||
case 'bulk_qr':
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Bulk campaign starter',
|
||||
content: { url: '' },
|
||||
};
|
||||
case 'wifi_qr':
|
||||
return {
|
||||
contentType: 'TEXT',
|
||||
dynamic: false,
|
||||
title: 'WiFi access QR',
|
||||
content: { text: 'WIFI:T:WPA;S:MyNetwork;P:password;;' },
|
||||
};
|
||||
case 'website_qr':
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Website QR',
|
||||
content: { url: '' },
|
||||
};
|
||||
case 'marketing_campaign':
|
||||
default:
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Campaign landing page',
|
||||
content: { url: '' },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export function getChecklistItems(user: {
|
||||
signupSourceSelfReported?: string | null;
|
||||
primaryUseCase?: string | null;
|
||||
firstQrCreatedAt?: string | Date | null;
|
||||
firstDynamicQrAt?: string | Date | null;
|
||||
firstScanAt?: string | Date | null;
|
||||
activationAt?: string | Date | null;
|
||||
}): Array<{ id: string; label: string; done: boolean }> {
|
||||
return [
|
||||
{
|
||||
id: 'source',
|
||||
label: 'Confirm how you found QR Master',
|
||||
done: Boolean(user.signupSourceSelfReported),
|
||||
},
|
||||
{
|
||||
id: 'use-case',
|
||||
label: 'Choose your use case',
|
||||
done: Boolean(user.primaryUseCase),
|
||||
},
|
||||
{
|
||||
id: 'first-qr',
|
||||
label: 'Create your first QR code',
|
||||
done: Boolean(user.firstQrCreatedAt),
|
||||
},
|
||||
{
|
||||
id: 'first-dynamic',
|
||||
label: 'Create your first dynamic QR code',
|
||||
done: Boolean(user.firstDynamicQrAt),
|
||||
},
|
||||
{
|
||||
id: 'download',
|
||||
label: 'Download your QR code',
|
||||
done: false,
|
||||
},
|
||||
{
|
||||
id: 'scan',
|
||||
label: 'Get your first scan',
|
||||
done: Boolean(user.firstScanAt),
|
||||
},
|
||||
];
|
||||
}
|
||||
export const ATTRIBUTION_COOKIE_NAME = 'qrmaster_first_touch';
|
||||
export const ONBOARDING_CHECKLIST_DISMISS_KEY = 'qrmaster_onboarding_checklist_dismissed';
|
||||
export const ONBOARDING_DOWNLOAD_COMPLETE_KEY = 'qrmaster_onboarding_download_complete';
|
||||
export const ONBOARDING_DOWNLOAD_COMPLETE_EVENT = 'qrmaster:onboarding-download-complete';
|
||||
|
||||
export type LifecycleStage =
|
||||
| 'cold'
|
||||
| 'activated'
|
||||
| 'warm'
|
||||
| 'hot'
|
||||
| 'upgrade_candidate'
|
||||
| 'paid';
|
||||
|
||||
export type SignupSourceOption = {
|
||||
value: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type OnboardingOption = {
|
||||
value: string;
|
||||
label: string;
|
||||
description?: string;
|
||||
};
|
||||
|
||||
export type AttributionSnapshot = {
|
||||
signupSource?: string | null;
|
||||
signupMedium?: string | null;
|
||||
signupCampaign?: string | null;
|
||||
signupContent?: string | null;
|
||||
signupTerm?: string | null;
|
||||
signupReferrer?: string | null;
|
||||
signupLandingPath?: string | null;
|
||||
signupFirstSeenAt?: string | null;
|
||||
};
|
||||
|
||||
const FREEMAIL_DOMAINS = new Set([
|
||||
'gmail.com',
|
||||
'yahoo.com',
|
||||
'hotmail.com',
|
||||
'outlook.com',
|
||||
'icloud.com',
|
||||
'gmx.de',
|
||||
'gmx.net',
|
||||
'web.de',
|
||||
'mail.com',
|
||||
'aol.com',
|
||||
'proton.me',
|
||||
'protonmail.com',
|
||||
]);
|
||||
|
||||
export const SIGNUP_SOURCE_OPTIONS: SignupSourceOption[] = [
|
||||
{ value: 'google_search', label: 'Google Search' },
|
||||
{ value: 'instagram', label: 'Instagram' },
|
||||
{ value: 'facebook', label: 'Facebook' },
|
||||
{ value: 'tiktok', label: 'TikTok' },
|
||||
{ value: 'linkedin', label: 'LinkedIn' },
|
||||
{ value: 'youtube', label: 'YouTube' },
|
||||
{ value: 'blog_article', label: 'Blog or article' },
|
||||
{ value: 'friend_colleague', label: 'Friend or colleague' },
|
||||
{ value: 'direct', label: 'Direct / I typed the URL' },
|
||||
{ value: 'other', label: 'Other' },
|
||||
];
|
||||
|
||||
export const PRIMARY_USE_CASE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'website_qr', label: 'Website QR Code' },
|
||||
{ value: 'menu_pdf', label: 'Menu or PDF QR Code' },
|
||||
{ value: 'contact_card', label: 'Contact Card QR Code' },
|
||||
{ value: 'wifi_qr', label: 'WiFi QR Code' },
|
||||
{ value: 'marketing_campaign', label: 'Marketing Campaign QR Code' },
|
||||
{ value: 'barcode', label: 'Barcode' },
|
||||
{ value: 'bulk_qr', label: 'Bulk QR Codes' },
|
||||
{ value: 'something_else', label: 'Something else' },
|
||||
];
|
||||
|
||||
export const PRIMARY_GOAL_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'drive_website_traffic', label: 'Drive website traffic' },
|
||||
{ value: 'track_printed_campaigns', label: 'Track printed campaigns' },
|
||||
{ value: 'share_contact_details', label: 'Share contact details' },
|
||||
{ value: 'replace_printed_menus', label: 'Replace printed menus' },
|
||||
{ value: 'generate_leads', label: 'Generate leads' },
|
||||
{ value: 'label_products', label: 'Label products' },
|
||||
{ value: 'manage_multiple_qr_codes', label: 'Manage multiple QR codes' },
|
||||
{ value: 'something_else', label: 'Something else' },
|
||||
];
|
||||
|
||||
export const JOB_ROLE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'founder_owner', label: 'Founder / Owner' },
|
||||
{ value: 'marketing_manager', label: 'Marketing Manager' },
|
||||
{ value: 'operations', label: 'Operations' },
|
||||
{ value: 'agency_freelancer', label: 'Agency / Freelancer' },
|
||||
{ value: 'it_technical', label: 'IT / Technical' },
|
||||
{ value: 'sales', label: 'Sales' },
|
||||
{ value: 'designer', label: 'Designer' },
|
||||
{ value: 'other', label: 'Other' },
|
||||
];
|
||||
|
||||
export const TEAM_SIZE_OPTIONS: OnboardingOption[] = [
|
||||
{ value: 'just_me', label: 'Just me' },
|
||||
{ value: '2_5', label: '2–5' },
|
||||
{ value: '6_20', label: '6–20' },
|
||||
{ value: '21_100', label: '21–100' },
|
||||
{ value: '100_plus', label: '100+' },
|
||||
];
|
||||
|
||||
export function serializeAttributionCookie(snapshot: AttributionSnapshot): string {
|
||||
return JSON.stringify(snapshot);
|
||||
}
|
||||
|
||||
export function parseAttributionCookie(value?: string | null): AttributionSnapshot | null {
|
||||
if (!value) {
|
||||
return null;
|
||||
}
|
||||
|
||||
try {
|
||||
return JSON.parse(value) as AttributionSnapshot;
|
||||
} catch {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export function getEmailDomain(email?: string | null): string | null {
|
||||
if (!email || !email.includes('@')) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return email.split('@')[1]?.trim().toLowerCase() || null;
|
||||
}
|
||||
|
||||
export function isFreemailDomain(domain?: string | null): boolean {
|
||||
return Boolean(domain && FREEMAIL_DOMAINS.has(domain.toLowerCase()));
|
||||
}
|
||||
|
||||
export function getSourceLabel(value?: string | null): string {
|
||||
const option = SIGNUP_SOURCE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getUseCaseLabel(value?: string | null): string {
|
||||
const option = PRIMARY_USE_CASE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getGoalLabel(value?: string | null): string {
|
||||
const option = PRIMARY_GOAL_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getRoleLabel(value?: string | null): string {
|
||||
const option = JOB_ROLE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function getTeamSizeLabel(value?: string | null): string {
|
||||
const option = TEAM_SIZE_OPTIONS.find((item) => item.value === value);
|
||||
return option?.label || 'Unknown';
|
||||
}
|
||||
|
||||
export function normalizeSource(input: {
|
||||
utmSource?: string | null;
|
||||
referrer?: string | null;
|
||||
landingPath?: string | null;
|
||||
}): string {
|
||||
const utmSource = input.utmSource?.toLowerCase().trim();
|
||||
const referrer = input.referrer?.toLowerCase().trim();
|
||||
const landingPath = input.landingPath?.toLowerCase().trim();
|
||||
|
||||
if (utmSource) {
|
||||
if (utmSource.includes('google')) return 'google_search';
|
||||
if (utmSource.includes('instagram')) return 'instagram';
|
||||
if (utmSource.includes('facebook') || utmSource.includes('meta')) return 'facebook';
|
||||
if (utmSource.includes('tiktok')) return 'tiktok';
|
||||
if (utmSource.includes('linkedin')) return 'linkedin';
|
||||
if (utmSource.includes('youtube')) return 'youtube';
|
||||
if (utmSource.includes('blog') || utmSource.includes('article') || utmSource.includes('seo')) return 'blog_article';
|
||||
}
|
||||
|
||||
if (referrer) {
|
||||
if (referrer.includes('google.')) return 'google_search';
|
||||
if (referrer.includes('instagram.')) return 'instagram';
|
||||
if (referrer.includes('facebook.') || referrer.includes('fb.com')) return 'facebook';
|
||||
if (referrer.includes('tiktok.')) return 'tiktok';
|
||||
if (referrer.includes('linkedin.')) return 'linkedin';
|
||||
if (referrer.includes('youtube.')) return 'youtube';
|
||||
if (referrer.includes('medium.com') || referrer.includes('substack.com') || referrer.includes('/blog')) return 'blog_article';
|
||||
}
|
||||
|
||||
if (landingPath && landingPath.startsWith('/blog')) {
|
||||
return 'blog_article';
|
||||
}
|
||||
|
||||
return 'direct';
|
||||
}
|
||||
|
||||
export function buildAttributionSnapshot(params: {
|
||||
utmSource?: string | null;
|
||||
utmMedium?: string | null;
|
||||
utmCampaign?: string | null;
|
||||
utmContent?: string | null;
|
||||
utmTerm?: string | null;
|
||||
referrer?: string | null;
|
||||
landingPath?: string | null;
|
||||
firstSeenAt?: Date | string | null;
|
||||
}): AttributionSnapshot {
|
||||
const signupFirstSeenAt =
|
||||
params.firstSeenAt instanceof Date
|
||||
? params.firstSeenAt.toISOString()
|
||||
: params.firstSeenAt || new Date().toISOString();
|
||||
|
||||
return {
|
||||
signupSource: normalizeSource({
|
||||
utmSource: params.utmSource,
|
||||
referrer: params.referrer,
|
||||
landingPath: params.landingPath,
|
||||
}),
|
||||
signupMedium: params.utmMedium || null,
|
||||
signupCampaign: params.utmCampaign || null,
|
||||
signupContent: params.utmContent || null,
|
||||
signupTerm: params.utmTerm || null,
|
||||
signupReferrer: params.referrer || null,
|
||||
signupLandingPath: params.landingPath || null,
|
||||
signupFirstSeenAt,
|
||||
};
|
||||
}
|
||||
|
||||
export function shouldResumeOnboarding(user: {
|
||||
onboardingStartedAt?: Date | null;
|
||||
onboardingCompletedAt?: Date | null;
|
||||
} | null): boolean {
|
||||
if (!user) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return Boolean(user.onboardingStartedAt && !user.onboardingCompletedAt);
|
||||
}
|
||||
|
||||
export function getLifecycleStageLabel(stage?: string | null): string {
|
||||
switch (stage) {
|
||||
case 'activated':
|
||||
return 'Activated';
|
||||
case 'warm':
|
||||
return 'Warm';
|
||||
case 'hot':
|
||||
return 'Hot';
|
||||
case 'upgrade_candidate':
|
||||
return 'Upgrade Candidate';
|
||||
case 'paid':
|
||||
return 'Paid';
|
||||
default:
|
||||
return 'Cold';
|
||||
}
|
||||
}
|
||||
|
||||
export function getOnboardingHeadlineForUseCase(useCase?: string | null): string {
|
||||
switch (useCase) {
|
||||
case 'marketing_campaign':
|
||||
return 'Create your first campaign QR code';
|
||||
case 'menu_pdf':
|
||||
return 'Create your first menu QR code';
|
||||
case 'contact_card':
|
||||
return 'Create your first contact QR code';
|
||||
case 'barcode':
|
||||
return 'Create your first barcode';
|
||||
case 'bulk_qr':
|
||||
return 'Set up your first business-ready QR';
|
||||
default:
|
||||
return 'Create your first QR code';
|
||||
}
|
||||
}
|
||||
|
||||
export function getCreatePresetForUseCase(useCase?: string | null): {
|
||||
contentType: string;
|
||||
dynamic: boolean;
|
||||
title: string;
|
||||
content: Record<string, string>;
|
||||
} {
|
||||
switch (useCase) {
|
||||
case 'menu_pdf':
|
||||
return {
|
||||
contentType: 'PDF',
|
||||
dynamic: true,
|
||||
title: 'Restaurant menu',
|
||||
content: {},
|
||||
};
|
||||
case 'contact_card':
|
||||
return {
|
||||
contentType: 'VCARD',
|
||||
dynamic: true,
|
||||
title: 'Business contact card',
|
||||
content: {},
|
||||
};
|
||||
case 'barcode':
|
||||
return {
|
||||
contentType: 'BARCODE',
|
||||
dynamic: false,
|
||||
title: 'Product barcode',
|
||||
content: { format: 'CODE128' },
|
||||
};
|
||||
case 'bulk_qr':
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Bulk campaign starter',
|
||||
content: { url: '' },
|
||||
};
|
||||
case 'wifi_qr':
|
||||
return {
|
||||
contentType: 'TEXT',
|
||||
dynamic: false,
|
||||
title: 'WiFi access QR',
|
||||
content: { text: 'WIFI:T:WPA;S:MyNetwork;P:password;;' },
|
||||
};
|
||||
case 'website_qr':
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Website QR',
|
||||
content: { url: '' },
|
||||
};
|
||||
case 'marketing_campaign':
|
||||
default:
|
||||
return {
|
||||
contentType: 'URL',
|
||||
dynamic: true,
|
||||
title: 'Campaign landing page',
|
||||
content: { url: '' },
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export function getChecklistItems(user: {
|
||||
signupSourceSelfReported?: string | null;
|
||||
primaryUseCase?: string | null;
|
||||
firstQrCreatedAt?: string | Date | null;
|
||||
firstDynamicQrAt?: string | Date | null;
|
||||
firstScanAt?: string | Date | null;
|
||||
activationAt?: string | Date | null;
|
||||
}): Array<{ id: string; label: string; done: boolean }> {
|
||||
return [
|
||||
{
|
||||
id: 'source',
|
||||
label: 'Confirm how you found QR Master',
|
||||
done: Boolean(user.signupSourceSelfReported),
|
||||
},
|
||||
{
|
||||
id: 'use-case',
|
||||
label: 'Choose your use case',
|
||||
done: Boolean(user.primaryUseCase),
|
||||
},
|
||||
{
|
||||
id: 'first-qr',
|
||||
label: 'Create your first QR code',
|
||||
done: Boolean(user.firstQrCreatedAt),
|
||||
},
|
||||
{
|
||||
id: 'first-dynamic',
|
||||
label: 'Create your first dynamic QR code',
|
||||
done: Boolean(user.firstDynamicQrAt),
|
||||
},
|
||||
{
|
||||
id: 'download',
|
||||
label: 'Download your QR code',
|
||||
done: false,
|
||||
},
|
||||
{
|
||||
id: 'scan',
|
||||
label: 'Get your first scan',
|
||||
done: Boolean(user.firstScanAt),
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries: IndustryPage[] = [
|
||||
{
|
||||
slug: "tattoo-studios",
|
||||
name: "Tattoo Studios",
|
||||
title: "QR Codes for Tattoo Studios",
|
||||
metaTitle: "QR Codes for Tattoo Studios: Portfolios & Aftercare",
|
||||
metaDescription: "Digitalize your tattoo studio with QR codes for artist portfolios, booking, and digital aftercare instructions.",
|
||||
headline: "QR Codes for Tattoo Studios: From Portfolio to Aftercare Instructions",
|
||||
subheadline: "Let clients browse your artists' work and access healing guides with a simple scan in your shop",
|
||||
heroImage: "/marketing/industries/tattoo-studios.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Portfolio Views via Window QR" },
|
||||
{ value: "40%", label: "Increase in Online Bookings" },
|
||||
{ value: "50%", label: "Fewer Aftercare Follow-up Questions" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Artist Portfolios", description: "Place QR codes in your studio window or at each station. Clients scan to view the artist's full Instagram or website portfolio without scrolling through a phone." },
|
||||
{ title: "Frictionless Booking", description: "A QR on your business cards and window posters links directly to your booking system, letting potential clients reserve their spot immediately when inspired." },
|
||||
{ title: "Digital Aftercare Guides", description: "Replace paper pamphlets with a QR link to detailed aftercare instructions and healing videos, ensuring clients always have access to the best care advice." }
|
||||
],
|
||||
useCases: [
|
||||
"Window display QR linking to artist portfolios",
|
||||
"Booking portal link on business cards",
|
||||
"Digital aftercare instructions for new tattoos",
|
||||
"Social media growth via Instagram/TikTok QR",
|
||||
"Google Review collection at the end of a session"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do tattoo studios use QR codes for portfolios?", answer: "Studios place QR codes in their window or at artist stations that link directly to digital portfolios, allowing clients to see more work instantly." },
|
||||
{ question: "Can QR codes replace paper aftercare instructions?", answer: "Yes, many studios use QR codes linking to a permanent aftercare page or PDF, which is easier for clients to keep track of than a physical piece of paper." },
|
||||
{ question: "Where is the best place to put a QR code in a tattoo shop?", answer: "The front window, the reception desk, and the individual workstations are the most effective placements for different use cases." }
|
||||
],
|
||||
placementTips: [
|
||||
"Front window for after-hours portfolio browsing",
|
||||
"Reception desk for booking and review collection",
|
||||
"Station mirrors for social media engagement"
|
||||
],
|
||||
germanKeyword: "Tattoostudios"
|
||||
},
|
||||
{
|
||||
slug: "pharmacies",
|
||||
name: "Pharmacies",
|
||||
title: "QR Codes for Pharmacies",
|
||||
metaTitle: "QR Codes for Pharmacies: Prescription Refills & Patient Info",
|
||||
metaDescription: "Improve patient safety and efficiency with QR codes for prescription refills, medication information, and digital advisory leaflets.",
|
||||
headline: "QR Codes for Pharmacies: Digital Refills and Patient Safety Guides",
|
||||
subheadline: "Help patients manage their prescriptions and access medication information with a simple scan at the counter",
|
||||
heroImage: "/marketing/industries/pharmacies.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Faster Prescription Refill Requests" },
|
||||
{ value: "2x", label: "Better Patient Medication Adherence" },
|
||||
{ value: "40%", label: "Reduction in Paper Information Sheets" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant Prescription Refills", description: "A QR on the prescription bag or bottle links directly to the refill request portal, letting patients order their next dose in seconds." },
|
||||
{ title: "Digital Patient Education", description: "Provide QR codes that link to video tutorials for complex medications (like inhalers or pens) and digital versions of the Patient Advisory Leaflet." },
|
||||
{ title: "Pharmacy-to-Patient Messaging", description: "A QR code at the counter lets patients sign up for SMS or email notifications when their prescription is ready for collection." }
|
||||
],
|
||||
useCases: [
|
||||
"Prescription refill portal link on bags and bottles",
|
||||
"Medication education videos and digital PALs",
|
||||
"Collection notification sign-up at the counter",
|
||||
"Pharmacy hours and emergency contact info",
|
||||
"Health and wellness newsletter sign-up"
|
||||
],
|
||||
tools: ["url-qr-code", "sms-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do QR codes help with medication safety?", answer: "QR codes link to clear digital instructions and videos that help patients understand exactly how to take their medication, reducing errors." },
|
||||
{ question: "Can patients refill prescriptions via QR codes?", answer: "Yes, a QR on the packaging can link directly to a secure portal where the patient can request a refill with one click." },
|
||||
{ question: "Where should pharmacies place QR codes?", answer: "The most effective spots are on prescription bags, medication bottles, and counter-top displays near the pickup area." }
|
||||
],
|
||||
placementTips: [
|
||||
"Printed on every prescription bag for easy refills",
|
||||
"Counter-top display for digital health newsletter sign-up",
|
||||
"Directly on medication packaging for usage videos"
|
||||
],
|
||||
germanKeyword: "Apotheken"
|
||||
},
|
||||
{
|
||||
slug: "car-dealerships",
|
||||
name: "Car Dealerships",
|
||||
title: "QR Codes for Car Dealerships",
|
||||
metaTitle: "QR Codes for Car Dealerships: Virtual Tours & Lead Gen",
|
||||
metaDescription: "Drive sales with QR codes for car spec sheets, virtual vehicle tours, financing calculators, and test drive booking.",
|
||||
headline: "QR Codes for Car Dealerships: Your 24/7 Digital Sales Floor",
|
||||
subheadline: "Let buyers explore every vehicle's specs, history, and financing options from the window—even when you're closed",
|
||||
heroImage: "/marketing/industries/car-dealerships.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Weekend Leads via Window QRs" },
|
||||
{ value: "3x", label: "Higher Engagement with Spec Sheets" },
|
||||
{ value: "45%", label: "Faster Test Drive Appointment Booking" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Window Stickers", description: "A QR on the vehicle window sticker links to the full digital spec sheet, high-res photos, car history reports, and a financing calculator." },
|
||||
{ title: "After-Hours Lead Generation", description: "Capture interest 24/7. Even when the dealership is closed, passersby scan the car's QR to view details and book a test drive for the following morning." },
|
||||
{ title: "Seamless Test Drive Booking", description: "Reduce friction by letting customers book their spot directly from their phone while they are standing next to the vehicle they like." }
|
||||
],
|
||||
useCases: [
|
||||
"Virtual tour and spec sheet from window stickers",
|
||||
"Immediate test drive booking link on each car",
|
||||
"Financing and trade-in value calculators",
|
||||
"Service department booking and status alerts",
|
||||
"Loyalty and maintenance reminder QR codes"
|
||||
],
|
||||
tools: ["url-qr-code", "vcard-qr-code", "call-qr-code-generator"],
|
||||
faq: [
|
||||
{ question: "How do QR codes help sell more cars?", answer: "QR codes provide instant information on vehicle specs and pricing, keeping customers engaged and capturing leads even after hours." },
|
||||
{ question: "Can a QR code calculate car financing?", answer: "Yes, you can link the QR to a tool that automatically pulls the car's price into a financing calculator for the customer." },
|
||||
{ question: "Where should dealer QR codes be placed?", answer: "The most important placement is on the driver's side window of every vehicle on the lot, followed by the sales desks and service area." }
|
||||
],
|
||||
placementTips: [
|
||||
"Driver-side window of every car on the lot",
|
||||
"Service waiting area for maintenance booking",
|
||||
"Sales desk for digital business card exchange"
|
||||
],
|
||||
germanKeyword: "Autohäuser"
|
||||
},
|
||||
{
|
||||
slug: "museums",
|
||||
name: "Museums",
|
||||
title: "QR Codes for Museums",
|
||||
metaTitle: "QR Codes for Museums: Interactive Tours & Exhibit Info",
|
||||
metaDescription: "Enhance the visitor experience with QR codes for audio guides, interactive exhibit maps, and digital donations.",
|
||||
headline: "QR Codes for Museums: Bring Artifacts to Life Digitally",
|
||||
subheadline: "Offer multilingual audio guides and interactive storytelling at every exhibit without bulky hardware",
|
||||
heroImage: "/marketing/industries/museums.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Digital Guides" },
|
||||
{ value: "50%", label: "Lower Cost vs. Physical Audio Hardware" },
|
||||
{ value: "2x", label: "Increase in Small Digital Donations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Smartphone Audio Guides", description: "Replace expensive, unhygienic audio guide hardware with QR codes. Visitors scan their phone to hear the story of every exhibit in their own language." },
|
||||
{ title: "Interactive Storytelling", description: "Link QR codes to videos, 3D models, or high-res maps that provide a deeper dive into the history of the artifacts on display." },
|
||||
{ title: "Frictionless Donations", description: "A QR code near the exit or major exhibits makes it easy for inspired visitors to leave a small digital donation with one tap." }
|
||||
],
|
||||
useCases: [
|
||||
"Self-guided audio tours from exhibit labels",
|
||||
"Multilingual descriptions for international guests",
|
||||
"Digital floor maps and facility wayfinding",
|
||||
"Donation and membership enrollment links",
|
||||
"Museum shop product info and online ordering"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "youtube-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do museums use QR codes for audio guides?", answer: "Museums place QR codes on exhibit labels that link to hosted audio files, allowing visitors to use their own phones and headphones." },
|
||||
{ question: "Can QR codes help with museum accessibility?", answer: "Absolutely. They can link to sign language videos, high-contrast text descriptions, or translations for any exhibit." },
|
||||
{ question: "Where should museum QR codes be placed?", answer: "On exhibit labels, the main floor plan in the lobby, and on pillars near the cafe or gift shop." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom corner of every major exhibit label",
|
||||
"Main entrance floor map pillar",
|
||||
"Checkout and exit areas for donations"
|
||||
],
|
||||
germanKeyword: "Museen"
|
||||
},
|
||||
{
|
||||
slug: "law-firms",
|
||||
name: "Law Firms",
|
||||
title: "QR Codes for Law Firms",
|
||||
metaTitle: "QR Codes for Law Firms: Attorney Portfolios & Consultations",
|
||||
metaDescription: "Modernize your legal practice with QR codes for digital business cards, consultation booking, and secure document access.",
|
||||
headline: "QR Codes for Law Firms: Professional Connectivity and Client Onboarding",
|
||||
subheadline: "Let prospective clients book a consultation and save your contact details with a simple scan of your card or signage",
|
||||
heroImage: "/marketing/industries/law-firms.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Professional Contact Saves via vCard" },
|
||||
{ value: "35%", label: "More Online Consultation Requests" },
|
||||
{ value: "40%", label: "Faster Client Document Submission" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital vCards for Networking", description: "Ensure potential clients and partners actually save your details. A vCard QR on your business card adds your contact info to their phone instantly." },
|
||||
{ title: "Instant Consultation Booking", description: "A QR on your brochures or building signage links directly to your calendar, allowing prospects to book a discovery call when legal needs are urgent." },
|
||||
{ title: "Secure Document Portals", description: "Provide clients with QR codes that link directly to secure portals for uploading sensitive documents or reviewing case status privately." }
|
||||
],
|
||||
useCases: [
|
||||
"Attorney vCard QR on physical business cards",
|
||||
"Consultation booking link on print advertisements",
|
||||
"Client portal access for secure document sharing",
|
||||
"Google review collection for local SEO",
|
||||
"Case study and attorney bio links in brochures"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "whatsapp-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do attorneys use QR codes for networking?", answer: "Most use vCard QR codes on their business cards to ensure their full contact details are saved directly to a prospect's phone address book." },
|
||||
{ question: "Can a QR code book a legal consultation?", answer: "Yes, the code can link directly to a scheduling tool like Calendly, allowing clients to pick a time without back-and-forth emails." },
|
||||
{ question: "Are QR codes professional enough for law firms?", answer: "Yes, when well-designed and placed on high-quality materials, they demonstrate a firm's commitment to accessibility and modern client service." }
|
||||
],
|
||||
placementTips: [
|
||||
"Physical business card for instant contact saving",
|
||||
"Wait room brochures for attorney bios and case results",
|
||||
"Building directory for consultation booking"
|
||||
],
|
||||
germanKeyword: "Anwaltskanzleien"
|
||||
}
|
||||
];
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries: IndustryPage[] = [
|
||||
{
|
||||
slug: "tattoo-studios",
|
||||
name: "Tattoo Studios",
|
||||
title: "QR Codes for Tattoo Studios",
|
||||
metaTitle: "QR Codes for Tattoo Studios: Portfolios & Aftercare",
|
||||
metaDescription: "Digitalize your tattoo studio with QR codes for artist portfolios, booking, and digital aftercare instructions.",
|
||||
headline: "QR Codes for Tattoo Studios: From Portfolio to Aftercare Instructions",
|
||||
subheadline: "Let clients browse your artists' work and access healing guides with a simple scan in your shop",
|
||||
heroImage: "/marketing/industries/tattoo-studios.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Portfolio Views via Window QR" },
|
||||
{ value: "40%", label: "Increase in Online Bookings" },
|
||||
{ value: "50%", label: "Fewer Aftercare Follow-up Questions" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Artist Portfolios", description: "Place QR codes in your studio window or at each station. Clients scan to view the artist's full Instagram or website portfolio without scrolling through a phone." },
|
||||
{ title: "Frictionless Booking", description: "A QR on your business cards and window posters links directly to your booking system, letting potential clients reserve their spot immediately when inspired." },
|
||||
{ title: "Digital Aftercare Guides", description: "Replace paper pamphlets with a QR link to detailed aftercare instructions and healing videos, ensuring clients always have access to the best care advice." }
|
||||
],
|
||||
useCases: [
|
||||
"Window display QR linking to artist portfolios",
|
||||
"Booking portal link on business cards",
|
||||
"Digital aftercare instructions for new tattoos",
|
||||
"Social media growth via Instagram/TikTok QR",
|
||||
"Google Review collection at the end of a session"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do tattoo studios use QR codes for portfolios?", answer: "Studios place QR codes in their window or at artist stations that link directly to digital portfolios, allowing clients to see more work instantly." },
|
||||
{ question: "Can QR codes replace paper aftercare instructions?", answer: "Yes, many studios use QR codes linking to a permanent aftercare page or PDF, which is easier for clients to keep track of than a physical piece of paper." },
|
||||
{ question: "Where is the best place to put a QR code in a tattoo shop?", answer: "The front window, the reception desk, and the individual workstations are the most effective placements for different use cases." }
|
||||
],
|
||||
placementTips: [
|
||||
"Front window for after-hours portfolio browsing",
|
||||
"Reception desk for booking and review collection",
|
||||
"Station mirrors for social media engagement"
|
||||
],
|
||||
germanKeyword: "Tattoostudios"
|
||||
},
|
||||
{
|
||||
slug: "pharmacies",
|
||||
name: "Pharmacies",
|
||||
title: "QR Codes for Pharmacies",
|
||||
metaTitle: "QR Codes for Pharmacies: Prescription Refills & Patient Info",
|
||||
metaDescription: "Improve patient safety and efficiency with QR codes for prescription refills, medication information, and digital advisory leaflets.",
|
||||
headline: "QR Codes for Pharmacies: Digital Refills and Patient Safety Guides",
|
||||
subheadline: "Help patients manage their prescriptions and access medication information with a simple scan at the counter",
|
||||
heroImage: "/marketing/industries/pharmacies.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Faster Prescription Refill Requests" },
|
||||
{ value: "2x", label: "Better Patient Medication Adherence" },
|
||||
{ value: "40%", label: "Reduction in Paper Information Sheets" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant Prescription Refills", description: "A QR on the prescription bag or bottle links directly to the refill request portal, letting patients order their next dose in seconds." },
|
||||
{ title: "Digital Patient Education", description: "Provide QR codes that link to video tutorials for complex medications (like inhalers or pens) and digital versions of the Patient Advisory Leaflet." },
|
||||
{ title: "Pharmacy-to-Patient Messaging", description: "A QR code at the counter lets patients sign up for SMS or email notifications when their prescription is ready for collection." }
|
||||
],
|
||||
useCases: [
|
||||
"Prescription refill portal link on bags and bottles",
|
||||
"Medication education videos and digital PALs",
|
||||
"Collection notification sign-up at the counter",
|
||||
"Pharmacy hours and emergency contact info",
|
||||
"Health and wellness newsletter sign-up"
|
||||
],
|
||||
tools: ["url-qr-code", "sms-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do QR codes help with medication safety?", answer: "QR codes link to clear digital instructions and videos that help patients understand exactly how to take their medication, reducing errors." },
|
||||
{ question: "Can patients refill prescriptions via QR codes?", answer: "Yes, a QR on the packaging can link directly to a secure portal where the patient can request a refill with one click." },
|
||||
{ question: "Where should pharmacies place QR codes?", answer: "The most effective spots are on prescription bags, medication bottles, and counter-top displays near the pickup area." }
|
||||
],
|
||||
placementTips: [
|
||||
"Printed on every prescription bag for easy refills",
|
||||
"Counter-top display for digital health newsletter sign-up",
|
||||
"Directly on medication packaging for usage videos"
|
||||
],
|
||||
germanKeyword: "Apotheken"
|
||||
},
|
||||
{
|
||||
slug: "car-dealerships",
|
||||
name: "Car Dealerships",
|
||||
title: "QR Codes for Car Dealerships",
|
||||
metaTitle: "QR Codes for Car Dealerships: Virtual Tours & Lead Gen",
|
||||
metaDescription: "Drive sales with QR codes for car spec sheets, virtual vehicle tours, financing calculators, and test drive booking.",
|
||||
headline: "QR Codes for Car Dealerships: Your 24/7 Digital Sales Floor",
|
||||
subheadline: "Let buyers explore every vehicle's specs, history, and financing options from the window—even when you're closed",
|
||||
heroImage: "/marketing/industries/car-dealerships.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Weekend Leads via Window QRs" },
|
||||
{ value: "3x", label: "Higher Engagement with Spec Sheets" },
|
||||
{ value: "45%", label: "Faster Test Drive Appointment Booking" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Window Stickers", description: "A QR on the vehicle window sticker links to the full digital spec sheet, high-res photos, car history reports, and a financing calculator." },
|
||||
{ title: "After-Hours Lead Generation", description: "Capture interest 24/7. Even when the dealership is closed, passersby scan the car's QR to view details and book a test drive for the following morning." },
|
||||
{ title: "Seamless Test Drive Booking", description: "Reduce friction by letting customers book their spot directly from their phone while they are standing next to the vehicle they like." }
|
||||
],
|
||||
useCases: [
|
||||
"Virtual tour and spec sheet from window stickers",
|
||||
"Immediate test drive booking link on each car",
|
||||
"Financing and trade-in value calculators",
|
||||
"Service department booking and status alerts",
|
||||
"Loyalty and maintenance reminder QR codes"
|
||||
],
|
||||
tools: ["url-qr-code", "vcard-qr-code", "call-qr-code-generator"],
|
||||
faq: [
|
||||
{ question: "How do QR codes help sell more cars?", answer: "QR codes provide instant information on vehicle specs and pricing, keeping customers engaged and capturing leads even after hours." },
|
||||
{ question: "Can a QR code calculate car financing?", answer: "Yes, you can link the QR to a tool that automatically pulls the car's price into a financing calculator for the customer." },
|
||||
{ question: "Where should dealer QR codes be placed?", answer: "The most important placement is on the driver's side window of every vehicle on the lot, followed by the sales desks and service area." }
|
||||
],
|
||||
placementTips: [
|
||||
"Driver-side window of every car on the lot",
|
||||
"Service waiting area for maintenance booking",
|
||||
"Sales desk for digital business card exchange"
|
||||
],
|
||||
germanKeyword: "Autohäuser"
|
||||
},
|
||||
{
|
||||
slug: "museums",
|
||||
name: "Museums",
|
||||
title: "QR Codes for Museums",
|
||||
metaTitle: "QR Codes for Museums: Interactive Tours & Exhibit Info",
|
||||
metaDescription: "Enhance the visitor experience with QR codes for audio guides, interactive exhibit maps, and digital donations.",
|
||||
headline: "QR Codes for Museums: Bring Artifacts to Life Digitally",
|
||||
subheadline: "Offer multilingual audio guides and interactive storytelling at every exhibit without bulky hardware",
|
||||
heroImage: "/marketing/industries/museums.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Digital Guides" },
|
||||
{ value: "50%", label: "Lower Cost vs. Physical Audio Hardware" },
|
||||
{ value: "2x", label: "Increase in Small Digital Donations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Smartphone Audio Guides", description: "Replace expensive, unhygienic audio guide hardware with QR codes. Visitors scan their phone to hear the story of every exhibit in their own language." },
|
||||
{ title: "Interactive Storytelling", description: "Link QR codes to videos, 3D models, or high-res maps that provide a deeper dive into the history of the artifacts on display." },
|
||||
{ title: "Frictionless Donations", description: "A QR code near the exit or major exhibits makes it easy for inspired visitors to leave a small digital donation with one tap." }
|
||||
],
|
||||
useCases: [
|
||||
"Self-guided audio tours from exhibit labels",
|
||||
"Multilingual descriptions for international guests",
|
||||
"Digital floor maps and facility wayfinding",
|
||||
"Donation and membership enrollment links",
|
||||
"Museum shop product info and online ordering"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "youtube-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do museums use QR codes for audio guides?", answer: "Museums place QR codes on exhibit labels that link to hosted audio files, allowing visitors to use their own phones and headphones." },
|
||||
{ question: "Can QR codes help with museum accessibility?", answer: "Absolutely. They can link to sign language videos, high-contrast text descriptions, or translations for any exhibit." },
|
||||
{ question: "Where should museum QR codes be placed?", answer: "On exhibit labels, the main floor plan in the lobby, and on pillars near the cafe or gift shop." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom corner of every major exhibit label",
|
||||
"Main entrance floor map pillar",
|
||||
"Checkout and exit areas for donations"
|
||||
],
|
||||
germanKeyword: "Museen"
|
||||
},
|
||||
{
|
||||
slug: "law-firms",
|
||||
name: "Law Firms",
|
||||
title: "QR Codes for Law Firms",
|
||||
metaTitle: "QR Codes for Law Firms: Attorney Portfolios & Consultations",
|
||||
metaDescription: "Modernize your legal practice with QR codes for digital business cards, consultation booking, and secure document access.",
|
||||
headline: "QR Codes for Law Firms: Professional Connectivity and Client Onboarding",
|
||||
subheadline: "Let prospective clients book a consultation and save your contact details with a simple scan of your card or signage",
|
||||
heroImage: "/marketing/industries/law-firms.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Professional Contact Saves via vCard" },
|
||||
{ value: "35%", label: "More Online Consultation Requests" },
|
||||
{ value: "40%", label: "Faster Client Document Submission" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital vCards for Networking", description: "Ensure potential clients and partners actually save your details. A vCard QR on your business card adds your contact info to their phone instantly." },
|
||||
{ title: "Instant Consultation Booking", description: "A QR on your brochures or building signage links directly to your calendar, allowing prospects to book a discovery call when legal needs are urgent." },
|
||||
{ title: "Secure Document Portals", description: "Provide clients with QR codes that link directly to secure portals for uploading sensitive documents or reviewing case status privately." }
|
||||
],
|
||||
useCases: [
|
||||
"Attorney vCard QR on physical business cards",
|
||||
"Consultation booking link on print advertisements",
|
||||
"Client portal access for secure document sharing",
|
||||
"Google review collection for local SEO",
|
||||
"Case study and attorney bio links in brochures"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "whatsapp-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do attorneys use QR codes for networking?", answer: "Most use vCard QR codes on their business cards to ensure their full contact details are saved directly to a prospect's phone address book." },
|
||||
{ question: "Can a QR code book a legal consultation?", answer: "Yes, the code can link directly to a scheduling tool like Calendly, allowing clients to pick a time without back-and-forth emails." },
|
||||
{ question: "Are QR codes professional enough for law firms?", answer: "Yes, when well-designed and placed on high-quality materials, they demonstrate a firm's commitment to accessibility and modern client service." }
|
||||
],
|
||||
placementTips: [
|
||||
"Physical business card for instant contact saving",
|
||||
"Wait room brochures for attorney bios and case results",
|
||||
"Building directory for consultation booking"
|
||||
],
|
||||
germanKeyword: "Anwaltskanzleien"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries2: IndustryPage[] = [
|
||||
{
|
||||
slug: "accountants",
|
||||
name: "Accountants",
|
||||
title: "QR Codes for Accountants",
|
||||
metaTitle: "QR Codes for Accountants: Secure Portals & Consultations",
|
||||
metaDescription: "Digitalize your accountancy firm with QR codes for secure document portals, consultation booking, and digital business cards.",
|
||||
headline: "QR Codes for Accountants: Document Security and Client Efficiency",
|
||||
subheadline: "Let clients upload documents and book consultations from a simple scan on your brochures or business cards",
|
||||
heroImage: "/marketing/industries/accountants.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "Faster Tax Document Collection" },
|
||||
{ value: "2x", label: "More Online Discovery Calls" },
|
||||
{ value: "45%", label: "More Recurring Client Portal Logins" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Secure Document Upload Portals", description: "Provide clients with a QR code in their tax pack that links directly to their secure upload portal, making document submission as easy as taking a photo." },
|
||||
{ title: "One-Tap Appointment Booking", description: "A QR on your lobby signage or brochures links to your calendar, allowing busy business owners to book their quarterly reviews or tax meetings in seconds." },
|
||||
{ title: "Professional vCard Branding", description: "Maintain a modern image by including a vCard QR on your business card, ensuring clients always have your full contact info and office hours on their phone." }
|
||||
],
|
||||
useCases: [
|
||||
"Tax document portal link in physical mailers",
|
||||
"Discovery call and consultation booking",
|
||||
"Office location and building directions",
|
||||
"vCard link on employee business cards",
|
||||
"Newsletter sign-up for tax law updates"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do accounting firms use QR codes for security?", answer: "Codes link directly to secure, encrypted portals, ensuring sensitive tax documents are never sent via unencrypted email." },
|
||||
{ question: "Can a QR code help with tax season document gathering?", answer: "Yes, by linking a QR in the annual tax letter to the personal checklist and upload portal, accounting firms significantly speed up the intake process." },
|
||||
{ question: "Where should an accountant place a QR code?", answer: "On annual tax letters, business cards, the office reception desk, and inside client welcome folders." }
|
||||
],
|
||||
placementTips: [
|
||||
"Annual tax letter for portal access and document guide",
|
||||
"Physical business card for instant contact saving",
|
||||
"Reception desk sign for WiFi and appointment booking"
|
||||
],
|
||||
germanKeyword: "Steuerberater"
|
||||
},
|
||||
{
|
||||
slug: "insurance-agencies",
|
||||
name: "Insurance Agencies",
|
||||
title: "QR Codes for Insurance Agencies",
|
||||
metaTitle: "QR Codes for Insurance: Claim Filing & Policy Access",
|
||||
metaDescription: "Improve client service and lead generation with QR codes for claim filing, policy document access, and consultation booking.",
|
||||
headline: "QR Codes for Insurance Agencies: Instant Policy Access and Faster Claims",
|
||||
subheadline: "Give your clients a direct line to support and claims portals from every policy document and ID card",
|
||||
heroImage: "/marketing/industries/insurance-agencies.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Faster Claim Reporting via ID Card QR" },
|
||||
{ value: "30%", label: "More Online Policy Quote Requests" },
|
||||
{ value: "50%", label: "Reductions in Inbound Status Calls" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Immediate Claim Submission", description: "A QR code on the physical insurance ID card or policy folder links directly to the claim portal, helping clients file a report immediately after an incident." },
|
||||
{ title: "Instant Policy Access", description: "Link a QR in your welcome pack to the client's current policy PDF and coverage overview, ensuring they always have the details at hand when they need them most." },
|
||||
{ title: "Lead Generation from Print advertising", description: "QR codes on direct mail and local signage link prospects directly to your quote tool, capturing high-intent leads before they look elsewhere." }
|
||||
],
|
||||
useCases: [
|
||||
"Claim reporting link on policy ID cards",
|
||||
"Digital policy documents and coverage info",
|
||||
"Quote request form link on direct mail ads",
|
||||
"Consultation booking with a local agent",
|
||||
"Emergency contact numbers and chat link"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do insurance agencies use QR codes on ID cards?", answer: "A QR on the card links directly to the mobile claim filing portal or the agent's emergency contact numbers—providing help in high-stress moments." },
|
||||
{ question: "Can QR codes help generate more insurance quotes?", answer: "Yes, by adding a QR to local signage and direct mail, agencies bridge the gap between people seeing an ad and getting a price instantly on their phone." },
|
||||
{ question: "Where should insurance QR codes be placed?", answer: "The back of ID cards, the front page of policy folders, and on all direct mail flyers are the most effective areas." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of the insurance ID card for claims and support",
|
||||
"Welcome folder with policy guide and agent vCard",
|
||||
"Direct mail flyer for instant quote requests"
|
||||
],
|
||||
germanKeyword: "Versicherungsagenturen"
|
||||
},
|
||||
{
|
||||
slug: "bookstores",
|
||||
name: "Bookstores",
|
||||
title: "QR Codes for Bookstores",
|
||||
metaTitle: "QR Codes for Bookstores: Author Interviews & Loyalty",
|
||||
metaDescription: "Engage book lovers with QR codes for author interviews, reading lists, loyalty programs, and online ordering for out-of-stock titles.",
|
||||
headline: "QR Codes for Bookstores: Bringing the Digital World to the Shelves",
|
||||
subheadline: "Offer book trailers, author interviews, and effortless online ordering from every shelf tag and window display",
|
||||
heroImage: "/marketing/industries/bookstores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Loyalty Program Enrollments" },
|
||||
{ value: "40%", label: "Higher Order Vol for Out-of-Stock Books" },
|
||||
{ value: "2x", label: "Increase in Reading-List Engagement" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Shelf-Edge Storytelling", description: "A QR on the shelf tag links to author interviews, book trailers, or community reviews—helping customers discover their next favorite read." },
|
||||
{ title: "Digital Loyalty and Rewards", description: "A QR at the checkout or on the bookmark given with each purchase allows customers to join your loyalty program without filling out a paper form." },
|
||||
{ title: "Order-from-Shelf Capability", description: "If a popular title is out of stock, a QR on the shelf lets the customer order the book for home delivery immediately, preventing them from leaving for a competitor." }
|
||||
],
|
||||
useCases: [
|
||||
"Author interviews and book trailers on shelf tags",
|
||||
"Loyalty and membership sign-up at checkout",
|
||||
"Out-of-stock ordering and home delivery portal",
|
||||
"Digital reading-list and staff-recommendation guides",
|
||||
"Event sign-up for readings and book signings"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do bookstores use QR codes on shelves?", answer: "Bookstores place codes on shelf edges that link to author interviews, similar book recommendations, or staff review videos." },
|
||||
{ question: "Can QR codes help with bookstore inventory issues?", answer: "Yes, if a book is sold out, a QR on the empty shelf space can link to your online shop for immediate home delivery." },
|
||||
{ question: "Where should bookstore QR codes be placed?", answer: "On shelf tags under key titles, the front window for event info, and the checkout counter for loyalty program sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Shelf-edge label for staff-recommended titles",
|
||||
"Front door poster for upcoming author events",
|
||||
"Bookmarks given with every purchase linking to loyalty"
|
||||
],
|
||||
germanKeyword: "Buchhandlungen"
|
||||
},
|
||||
{
|
||||
slug: "libraries",
|
||||
name: "Libraries",
|
||||
title: "QR Codes for Libraries",
|
||||
metaTitle: "QR Codes for Libraries: Digital Catalogs & Multimedia",
|
||||
metaDescription: "Modernize your library with QR codes for digital catalog access, e-book downloads, event registration, and multimedia learning guides.",
|
||||
headline: "QR Codes for Libraries: A Digital Bridge to Every Shelf",
|
||||
subheadline: "Let visitors download e-books, listen to audio samples, and register for community events with a simple scan",
|
||||
heroImage: "/marketing/industries/libraries.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Multimedia Resource Access" },
|
||||
{ value: "40%", label: "Increase in Event Registrations" },
|
||||
{ value: "50%", label: "Faster E-Book and Audio Sample Access" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant E-Source Access", description: "Place QR codes on physical shelves that link directly to the e-book or audiobook versions of those titles—ideal for when the physical copy is checked out." },
|
||||
{ title: "Digital Event Calendars", description: "A QR on the main announcement board or entrance door links to your full digital event calendar, allowing visitors to register for workshops and storytime sessions." },
|
||||
{ title: "Learning Companion Guides", description: "For study groups and non-fiction sections, QR codes can link to high-quality external resources, video lessons, or digital bibliographies for deeper research." }
|
||||
],
|
||||
useCases: [
|
||||
"E-book and audiobook links on physical shelves",
|
||||
"Event registration and community calendar sign-up",
|
||||
"Museum pass and library card digital registration",
|
||||
"Multimedia guides for non-fiction and research sections",
|
||||
"Silent study WiFi access from desk QR codes"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "wifi-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do libraries use QR codes for e-books?", answer: "Libraries place QR codes next to physical books that link to the e-book version in their digital collection, ensuring access even when shelves are empty." },
|
||||
{ question: "Can QR codes help with library event management?", answer: "Yes, a single QR on an event poster links to the registration form and automatically adds the library event to the visitor's phone calendar." },
|
||||
{ question: "Where should library QR codes be placed?", answer: "On bookshelf ends, study hall desks for WiFi, and the main entrance pillar for the event calendar." }
|
||||
],
|
||||
placementTips: [
|
||||
"End of setiap book aisle for category guides",
|
||||
"Study desks for quick WiFi connection and quiet rules",
|
||||
"Main entrance notice board for today's events"
|
||||
],
|
||||
germanKeyword: "Bibliotheken"
|
||||
},
|
||||
{
|
||||
slug: "universities",
|
||||
name: "Universities & Colleges",
|
||||
title: "QR Codes for Universities & Colleges",
|
||||
metaTitle: "QR Codes for Universities: Campus Maps & Event Tracking",
|
||||
metaDescription: "Improve the campus experience with QR codes for interactive maps, attendance tracking, cafeteria menus, and student resource portals.",
|
||||
headline: "QR Codes for Universities: Connectivity Across Campus",
|
||||
subheadline: "Modernize your student experience with instant access to course materials, maps, and events from any campus sign",
|
||||
heroImage: "/marketing/industries/universities.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Faster Orientation Week Navigation" },
|
||||
{ value: "3x", label: "More Student Event RSVP Completions" },
|
||||
{ value: "40%", label: "Reduction in Printed Campus Materials" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Campus Wayfinding", description: "QR codes on pillars and building signs link to real-time interactive campus maps, helping new students find lecture halls and facilities effortlessly." },
|
||||
{ title: "Instant Course Material Distribution", description: "Professors place QR codes on lecture slides linking to PDFs, reference lists, or digital quizzes—ensuring every student has the material before the class ends." },
|
||||
{ title: "Seamless Event Engagement", description: "A QR on the student union board or event poster links to the ticketing and RSVP portal, sending event reminders directly to student phones." }
|
||||
],
|
||||
useCases: [
|
||||
"Interactive campus maps at entrances and pillars",
|
||||
"Course material PDFs for lecture distribution",
|
||||
"Student union and community event sign-ups",
|
||||
"Cafeteria menus and pre-order payment links",
|
||||
"Library resource booking and silent study WiFi"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "wifi-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do universities use QR codes for wayfinding?", answer: "QR codes on campus maps and building signs link to mobile-friendly interactive maps that show exactly where students are and how to get to their next class." },
|
||||
{ question: "Can QR codes track student attendance?", answer: "Yes, many professors use unique QR codes at the start of a lecture that students scan to verify their presence via a secure student portal." },
|
||||
{ question: "Where are the best places for QR codes on campus?", answer: "Main entrance gates, outside lecture halls, on social and sports club posters, and at the cafeteria payment counter." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main campus entrance pillars for the digital map",
|
||||
"Outside lecture halls for course schedules and materials",
|
||||
"Student hub notice board for social and club events"
|
||||
],
|
||||
germanKeyword: "Universitäten"
|
||||
}
|
||||
];
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries2: IndustryPage[] = [
|
||||
{
|
||||
slug: "accountants",
|
||||
name: "Accountants",
|
||||
title: "QR Codes for Accountants",
|
||||
metaTitle: "QR Codes for Accountants: Secure Portals & Consultations",
|
||||
metaDescription: "Digitalize your accountancy firm with QR codes for secure document portals, consultation booking, and digital business cards.",
|
||||
headline: "QR Codes for Accountants: Document Security and Client Efficiency",
|
||||
subheadline: "Let clients upload documents and book consultations from a simple scan on your brochures or business cards",
|
||||
heroImage: "/marketing/industries/accountants.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "Faster Tax Document Collection" },
|
||||
{ value: "2x", label: "More Online Discovery Calls" },
|
||||
{ value: "45%", label: "More Recurring Client Portal Logins" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Secure Document Upload Portals", description: "Provide clients with a QR code in their tax pack that links directly to their secure upload portal, making document submission as easy as taking a photo." },
|
||||
{ title: "One-Tap Appointment Booking", description: "A QR on your lobby signage or brochures links to your calendar, allowing busy business owners to book their quarterly reviews or tax meetings in seconds." },
|
||||
{ title: "Professional vCard Branding", description: "Maintain a modern image by including a vCard QR on your business card, ensuring clients always have your full contact info and office hours on their phone." }
|
||||
],
|
||||
useCases: [
|
||||
"Tax document portal link in physical mailers",
|
||||
"Discovery call and consultation booking",
|
||||
"Office location and building directions",
|
||||
"vCard link on employee business cards",
|
||||
"Newsletter sign-up for tax law updates"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do accounting firms use QR codes for security?", answer: "Codes link directly to secure, encrypted portals, ensuring sensitive tax documents are never sent via unencrypted email." },
|
||||
{ question: "Can a QR code help with tax season document gathering?", answer: "Yes, by linking a QR in the annual tax letter to the personal checklist and upload portal, accounting firms significantly speed up the intake process." },
|
||||
{ question: "Where should an accountant place a QR code?", answer: "On annual tax letters, business cards, the office reception desk, and inside client welcome folders." }
|
||||
],
|
||||
placementTips: [
|
||||
"Annual tax letter for portal access and document guide",
|
||||
"Physical business card for instant contact saving",
|
||||
"Reception desk sign for WiFi and appointment booking"
|
||||
],
|
||||
germanKeyword: "Steuerberater"
|
||||
},
|
||||
{
|
||||
slug: "insurance-agencies",
|
||||
name: "Insurance Agencies",
|
||||
title: "QR Codes for Insurance Agencies",
|
||||
metaTitle: "QR Codes for Insurance: Claim Filing & Policy Access",
|
||||
metaDescription: "Improve client service and lead generation with QR codes for claim filing, policy document access, and consultation booking.",
|
||||
headline: "QR Codes for Insurance Agencies: Instant Policy Access and Faster Claims",
|
||||
subheadline: "Give your clients a direct line to support and claims portals from every policy document and ID card",
|
||||
heroImage: "/marketing/industries/insurance-agencies.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Faster Claim Reporting via ID Card QR" },
|
||||
{ value: "30%", label: "More Online Policy Quote Requests" },
|
||||
{ value: "50%", label: "Reductions in Inbound Status Calls" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Immediate Claim Submission", description: "A QR code on the physical insurance ID card or policy folder links directly to the claim portal, helping clients file a report immediately after an incident." },
|
||||
{ title: "Instant Policy Access", description: "Link a QR in your welcome pack to the client's current policy PDF and coverage overview, ensuring they always have the details at hand when they need them most." },
|
||||
{ title: "Lead Generation from Print advertising", description: "QR codes on direct mail and local signage link prospects directly to your quote tool, capturing high-intent leads before they look elsewhere." }
|
||||
],
|
||||
useCases: [
|
||||
"Claim reporting link on policy ID cards",
|
||||
"Digital policy documents and coverage info",
|
||||
"Quote request form link on direct mail ads",
|
||||
"Consultation booking with a local agent",
|
||||
"Emergency contact numbers and chat link"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do insurance agencies use QR codes on ID cards?", answer: "A QR on the card links directly to the mobile claim filing portal or the agent's emergency contact numbers—providing help in high-stress moments." },
|
||||
{ question: "Can QR codes help generate more insurance quotes?", answer: "Yes, by adding a QR to local signage and direct mail, agencies bridge the gap between people seeing an ad and getting a price instantly on their phone." },
|
||||
{ question: "Where should insurance QR codes be placed?", answer: "The back of ID cards, the front page of policy folders, and on all direct mail flyers are the most effective areas." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of the insurance ID card for claims and support",
|
||||
"Welcome folder with policy guide and agent vCard",
|
||||
"Direct mail flyer for instant quote requests"
|
||||
],
|
||||
germanKeyword: "Versicherungsagenturen"
|
||||
},
|
||||
{
|
||||
slug: "bookstores",
|
||||
name: "Bookstores",
|
||||
title: "QR Codes for Bookstores",
|
||||
metaTitle: "QR Codes for Bookstores: Author Interviews & Loyalty",
|
||||
metaDescription: "Engage book lovers with QR codes for author interviews, reading lists, loyalty programs, and online ordering for out-of-stock titles.",
|
||||
headline: "QR Codes for Bookstores: Bringing the Digital World to the Shelves",
|
||||
subheadline: "Offer book trailers, author interviews, and effortless online ordering from every shelf tag and window display",
|
||||
heroImage: "/marketing/industries/bookstores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Loyalty Program Enrollments" },
|
||||
{ value: "40%", label: "Higher Order Vol for Out-of-Stock Books" },
|
||||
{ value: "2x", label: "Increase in Reading-List Engagement" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Shelf-Edge Storytelling", description: "A QR on the shelf tag links to author interviews, book trailers, or community reviews—helping customers discover their next favorite read." },
|
||||
{ title: "Digital Loyalty and Rewards", description: "A QR at the checkout or on the bookmark given with each purchase allows customers to join your loyalty program without filling out a paper form." },
|
||||
{ title: "Order-from-Shelf Capability", description: "If a popular title is out of stock, a QR on the shelf lets the customer order the book for home delivery immediately, preventing them from leaving for a competitor." }
|
||||
],
|
||||
useCases: [
|
||||
"Author interviews and book trailers on shelf tags",
|
||||
"Loyalty and membership sign-up at checkout",
|
||||
"Out-of-stock ordering and home delivery portal",
|
||||
"Digital reading-list and staff-recommendation guides",
|
||||
"Event sign-up for readings and book signings"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do bookstores use QR codes on shelves?", answer: "Bookstores place codes on shelf edges that link to author interviews, similar book recommendations, or staff review videos." },
|
||||
{ question: "Can QR codes help with bookstore inventory issues?", answer: "Yes, if a book is sold out, a QR on the empty shelf space can link to your online shop for immediate home delivery." },
|
||||
{ question: "Where should bookstore QR codes be placed?", answer: "On shelf tags under key titles, the front window for event info, and the checkout counter for loyalty program sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Shelf-edge label for staff-recommended titles",
|
||||
"Front door poster for upcoming author events",
|
||||
"Bookmarks given with every purchase linking to loyalty"
|
||||
],
|
||||
germanKeyword: "Buchhandlungen"
|
||||
},
|
||||
{
|
||||
slug: "libraries",
|
||||
name: "Libraries",
|
||||
title: "QR Codes for Libraries",
|
||||
metaTitle: "QR Codes for Libraries: Digital Catalogs & Multimedia",
|
||||
metaDescription: "Modernize your library with QR codes for digital catalog access, e-book downloads, event registration, and multimedia learning guides.",
|
||||
headline: "QR Codes for Libraries: A Digital Bridge to Every Shelf",
|
||||
subheadline: "Let visitors download e-books, listen to audio samples, and register for community events with a simple scan",
|
||||
heroImage: "/marketing/industries/libraries.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Multimedia Resource Access" },
|
||||
{ value: "40%", label: "Increase in Event Registrations" },
|
||||
{ value: "50%", label: "Faster E-Book and Audio Sample Access" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant E-Source Access", description: "Place QR codes on physical shelves that link directly to the e-book or audiobook versions of those titles—ideal for when the physical copy is checked out." },
|
||||
{ title: "Digital Event Calendars", description: "A QR on the main announcement board or entrance door links to your full digital event calendar, allowing visitors to register for workshops and storytime sessions." },
|
||||
{ title: "Learning Companion Guides", description: "For study groups and non-fiction sections, QR codes can link to high-quality external resources, video lessons, or digital bibliographies for deeper research." }
|
||||
],
|
||||
useCases: [
|
||||
"E-book and audiobook links on physical shelves",
|
||||
"Event registration and community calendar sign-up",
|
||||
"Museum pass and library card digital registration",
|
||||
"Multimedia guides for non-fiction and research sections",
|
||||
"Silent study WiFi access from desk QR codes"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "wifi-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do libraries use QR codes for e-books?", answer: "Libraries place QR codes next to physical books that link to the e-book version in their digital collection, ensuring access even when shelves are empty." },
|
||||
{ question: "Can QR codes help with library event management?", answer: "Yes, a single QR on an event poster links to the registration form and automatically adds the library event to the visitor's phone calendar." },
|
||||
{ question: "Where should library QR codes be placed?", answer: "On bookshelf ends, study hall desks for WiFi, and the main entrance pillar for the event calendar." }
|
||||
],
|
||||
placementTips: [
|
||||
"End of setiap book aisle for category guides",
|
||||
"Study desks for quick WiFi connection and quiet rules",
|
||||
"Main entrance notice board for today's events"
|
||||
],
|
||||
germanKeyword: "Bibliotheken"
|
||||
},
|
||||
{
|
||||
slug: "universities",
|
||||
name: "Universities & Colleges",
|
||||
title: "QR Codes for Universities & Colleges",
|
||||
metaTitle: "QR Codes for Universities: Campus Maps & Event Tracking",
|
||||
metaDescription: "Improve the campus experience with QR codes for interactive maps, attendance tracking, cafeteria menus, and student resource portals.",
|
||||
headline: "QR Codes for Universities: Connectivity Across Campus",
|
||||
subheadline: "Modernize your student experience with instant access to course materials, maps, and events from any campus sign",
|
||||
heroImage: "/marketing/industries/universities.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Faster Orientation Week Navigation" },
|
||||
{ value: "3x", label: "More Student Event RSVP Completions" },
|
||||
{ value: "40%", label: "Reduction in Printed Campus Materials" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Campus Wayfinding", description: "QR codes on pillars and building signs link to real-time interactive campus maps, helping new students find lecture halls and facilities effortlessly." },
|
||||
{ title: "Instant Course Material Distribution", description: "Professors place QR codes on lecture slides linking to PDFs, reference lists, or digital quizzes—ensuring every student has the material before the class ends." },
|
||||
{ title: "Seamless Event Engagement", description: "A QR on the student union board or event poster links to the ticketing and RSVP portal, sending event reminders directly to student phones." }
|
||||
],
|
||||
useCases: [
|
||||
"Interactive campus maps at entrances and pillars",
|
||||
"Course material PDFs for lecture distribution",
|
||||
"Student union and community event sign-ups",
|
||||
"Cafeteria menus and pre-order payment links",
|
||||
"Library resource booking and silent study WiFi"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "wifi-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do universities use QR codes for wayfinding?", answer: "QR codes on campus maps and building signs link to mobile-friendly interactive maps that show exactly where students are and how to get to their next class." },
|
||||
{ question: "Can QR codes track student attendance?", answer: "Yes, many professors use unique QR codes at the start of a lecture that students scan to verify their presence via a secure student portal." },
|
||||
{ question: "Where are the best places for QR codes on campus?", answer: "Main entrance gates, outside lecture halls, on social and sports club posters, and at the cafeteria payment counter." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main campus entrance pillars for the digital map",
|
||||
"Outside lecture halls for course schedules and materials",
|
||||
"Student hub notice board for social and club events"
|
||||
],
|
||||
germanKeyword: "Universitäten"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries3: IndustryPage[] = [
|
||||
{
|
||||
slug: "schools",
|
||||
name: "Schools",
|
||||
title: "QR Codes for Schools",
|
||||
metaTitle: "QR Codes for Schools: Parent Communication & Resources",
|
||||
metaDescription: "Improve parent-teacher communication and student resource sharing with QR codes for newsletters, homework portals, and event sign-ups.",
|
||||
headline: "QR Codes for Schools: Simple Parent-Teacher Connectivity",
|
||||
subheadline: "Let parents access the latest newsletter and homework updates from the school gate or lobby",
|
||||
heroImage: "/marketing/industries/schools.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Parent Newsletter Read Rates" },
|
||||
{ value: "40%", label: "Faster Event RSVP Responses" },
|
||||
{ value: "3x", label: "Higher Resource Hub Engagement" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Parent Newsletter Access", description: "Place a QR code at the school gate or reception. Parents scan while picking up children to read the latest digital newsletter or school announcements." },
|
||||
{ title: "Digital Homework Portals", description: "Direct links to the school's virtual learning environment (VLE) on homework planners ensure students and parents always find assignments." },
|
||||
{ title: "One-Tap Event RSVP", description: "QR codes on paper flyers for school plays, sports days, and parent-teacher meetings link to the digital sign-up form instantly." }
|
||||
],
|
||||
useCases: [
|
||||
"Parent newsletter link at school gates",
|
||||
"Homework and learning portal links on planners",
|
||||
"School play and sports day event RSVPs",
|
||||
"Cafeteria payment and menu links",
|
||||
"Teacher vCard and contact info for meetings"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "event-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do schools use QR codes for parents?", answer: "Schools place codes at gates or in reception that link to newsletters and school announcements—making mobile-first communication effortless for parents." },
|
||||
{ question: "Can QR codes help with school event planning?", answer: "Yes, by putting a QR on any paper flyer, schools can get instant RSVPs and track attendance for events like plays and fairs." },
|
||||
{ question: "Where should school QR codes be placed?", answer: "The school gates, the main reception desk, student homework planners, and on all physical event posters." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main entrance gate for parent newsletters",
|
||||
"Reception desk sign for school visitor sign-in",
|
||||
"Physical event posters for digital RSVPs"
|
||||
],
|
||||
germanKeyword: "Schulen"
|
||||
},
|
||||
{
|
||||
slug: "churches",
|
||||
name: "Churches & Places of Worship",
|
||||
title: "QR Codes for Churches & Worship",
|
||||
metaTitle: "QR Codes for Churches: Digital Giving & Bulletins",
|
||||
metaDescription: "Increase community engagement with QR codes for digital donations, mobile bulletins, event calendars, and newsletter sign-ups.",
|
||||
headline: "QR Codes for Churches: Digital Bulletins and Simple Giving",
|
||||
subheadline: "Help your congregation stay connected with digital programs, hymnals, and one-tap donations from every pew",
|
||||
heroImage: "/marketing/industries/churches.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Increase in Weekly Digital Giving" },
|
||||
{ value: "50%", label: "Reduction in Printed Bulletin Costs" },
|
||||
{ value: "2x", label: "More Community Event Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Frictionless Digital Giving", description: "A QR code on the back of every pew or in the weekly program links directly to your secure donation portal—making it easy for the modern congregation to give." },
|
||||
{ title: "Digital Bulletins and Hymnals", description: "Reduce your environmental impact and printing costs by linking to the week's program, lyrics, and announcements via a single scan." },
|
||||
{ title: "Community Calendar and Groups", description: "Link QR codes to your small group sign-up forms and community events calendar, encouraging deeper engagement beyond Sunday service." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital donation link on pews and programs",
|
||||
"Sunday bulletin and hymnal PDF access",
|
||||
"Community event and small group sign-ups",
|
||||
"Monthly newsletter and news sign-up links",
|
||||
"Prayer request form from the back of the pew"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "event-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do churches use QR codes for giving?", answer: "Churches place codes on pews or in bulletins that link directly to their payment provider, letting the congregation donate securely from their phones." },
|
||||
{ question: "Can QR codes replace printed church bulletins?", answer: "Yes, many congregations now scan a QR at the entrance to access the digital program and hymnal—saving thousands in annual printing costs." },
|
||||
{ question: "Where should churches place QR codes?", answer: "The back of every pew, the main lobby notice board, and the front cover of the physical weekly program." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of every pew for donations and prayers",
|
||||
"Lobby notice board for community events",
|
||||
"Front of paper programs for digital access"
|
||||
],
|
||||
germanKeyword: "Kirchen"
|
||||
},
|
||||
{
|
||||
slug: "art-galleries",
|
||||
name: "Art Galleries",
|
||||
title: "QR Codes for Art Galleries",
|
||||
metaTitle: "QR Codes for Art Galleries: Artist Bios & Purchasing",
|
||||
metaDescription: "Engage art collectors with QR codes for artist biographies, price lists, virtual exhibitions, and purchase inquiries.",
|
||||
headline: "QR Codes for Art Galleries: Storytelling and Seamless Sales",
|
||||
subheadline: "Let visitors dive deeper into every artwork with artist biographies and purchase links at every label",
|
||||
heroImage: "/marketing/industries/art-galleries.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Artist Bio Views via Exhibit QR" },
|
||||
{ value: "40%", label: "Faster Inquiry-to-Sale Conversion" },
|
||||
{ value: "2x", label: "Higher Instagram Follower Growth" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Deep-Dive Artist Biographies", description: "A QR on the wall label links to the artist's full biography, studio videos, and available works—providing context without crowding the gallery walls." },
|
||||
{ title: "Immediate Purchase Inquiries", description: "Link QR codes to a direct inquiry form or purchase link for every artwork, allowing collectors to start the buying process the moment they feel inspired." },
|
||||
{ title: "Virtual Exhibition Catalogs", description: "Give visitors a QR code at the entrance linking to the full digital exhibition catalog—which they can easily share with fellow art lovers." }
|
||||
],
|
||||
useCases: [
|
||||
"Artist bio and video link on each artwork label",
|
||||
"Price list and purchase inquiry portal",
|
||||
"Digital exhibition catalog at the entrance",
|
||||
"Social media following and artist tags",
|
||||
"Mailing list and upcoming show announcements"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do art galleries use QR codes for sales?", answer: "Galleries place QR codes next to artworks that link directly to an inquiry form or a purchase portal, capturing interest while the collector is in front of the piece." },
|
||||
{ question: "Can QR codes show more work from the same artist?", answer: "Yes, the code can link to a digital portfolio showing other available works by the artist that aren't physically in the current show." },
|
||||
{ question: "Where should art gallery QR codes be placed?", answer: "Discreetly next to each piece's label, on the front desk, and in the main exhibition brochure." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom-right of artwork identification labels",
|
||||
"Front desk pillar for the full digital catalog",
|
||||
"Social media wall for visitor tagging and following"
|
||||
],
|
||||
germanKeyword: "Kunstgalerien"
|
||||
},
|
||||
{
|
||||
slug: "stadiums",
|
||||
name: "Stadiums & Arenas",
|
||||
title: "QR Codes for Stadiums & Arenas",
|
||||
metaTitle: "QR Codes for Stadiums: Seat Delivery & Digital Tickets",
|
||||
metaDescription: "Improve the fan experience with QR codes for in-seat food delivery, digital ticketing, stadium maps, and exclusive merch offers.",
|
||||
headline: "QR Codes for Stadiums: Bringing the Fan Experience to Every Seat",
|
||||
subheadline: "Shorten queues and engage fans with in-seat ordering, interactive maps, and exclusive mobile-only offers",
|
||||
heroImage: "/marketing/industries/stadiums.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "Reduction in Concession Stand Queues" },
|
||||
{ value: "2x", label: "More Merch Sales via Exclusive Seats QR" },
|
||||
{ value: "50%", label: "Faster Wayfinding to Block and Row" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "In-Seat Concession Ordering", description: "Place a QR code on the back of every stadium seat. Fans scan to order food and drinks for collection—or even delivery—without missing a minute of the match." },
|
||||
{ title: "Interactive Stadium Wayfinding", description: "Help fans find their block, row, nearest restrooms, and parking with QR codes on pillars that link to real-time interactive arena maps." },
|
||||
{ title: "Exclusive Fan Zone Content", description: "Link seat QR codes to digital match programs, team stats, and exclusive merch offers that are only available during the event." }
|
||||
],
|
||||
useCases: [
|
||||
"Food and drink pre-ordering from every seat",
|
||||
"Interactive block and row wayfinding from pillars",
|
||||
"Digital match day programs and live stats",
|
||||
"Fan zone game and exclusive merch offer links",
|
||||
"Contact info for security and incident reporting"
|
||||
],
|
||||
tools: ["url-qr-code", "wifi-qr-code", "sms-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do stadiums use QR codes for concessions?", answer: "Stadiums put QR codes on seat backs that link to the concessions menu. Fans order from their phone and get a notification when it's ready for pickup." },
|
||||
{ question: "Can QR codes help with stadium wayfinding?", answer: "Yes, codes on terminal pillars link to maps that show the fan's current location and the fastest route to their specific seating block." },
|
||||
{ question: "Where are the best places for stadium QR codes?", answer: "The back of every seat, the main entrance arches, and the concession stand banners for menu browsing." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of every individual stadium seat for food",
|
||||
"Main entrance pillars for block-specific maps",
|
||||
"Concession stand area for digital menu viewing"
|
||||
],
|
||||
germanKeyword: "Stadien"
|
||||
},
|
||||
{
|
||||
slug: "theaters",
|
||||
name: "Theaters & Cinemas",
|
||||
title: "QR Codes for Theaters & Cinemas",
|
||||
metaTitle: "QR Codes for Theaters: Digital Programs & Concessions",
|
||||
metaDescription: "Modernize your theater or cinema with QR codes for digital programs, movie trailers, in-seat ordering, and future show bookings.",
|
||||
headline: "QR Codes for Theaters: Programs and Popcorn from Your Phone",
|
||||
subheadline: "Replace paper programs and shorten popcorn queues with digital show guides and mobile-first concessions",
|
||||
heroImage: "/marketing/industries/theaters.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Reduction in Concession Waiting Times" },
|
||||
{ value: "3x", label: "More Future Show Bookings via Post-Show QR" },
|
||||
{ value: "40%", label: "Higher Engagement with Digital Programs" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Show Programs", description: "Place a QR on the back of every theater seat linking to the full cast list, director's notes, and show information—saving thousands on printing costs." },
|
||||
{ title: "Fast-Track Concessions", description: "A QR in the lobby or on seats allows guests to pre-order popcorn and snacks, allowing them to skip the queue during the interval." },
|
||||
{ title: "Immediate Future Booking", description: "Place a QR code on the screen or in the exit foyer linking to tickets for the next show or film—capturing interest while the guest is still in the moment." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital show guides and cast info from seat QR",
|
||||
"Mobile concessions and snack pre-ordering",
|
||||
"Movie trailers and behind-the-scenes content",
|
||||
"Future show ticketing links in the exit foyer",
|
||||
"Digital ticket wallet and scanner at the door"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "youtube-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do theaters use QR codes for programs?", answer: "They place codes on the back of seats that link to a PDF or web version of the program—meaning no more paper litter and easier updates." },
|
||||
{ question: "Can I order popcorn with a QR code?", answer: "Yes, many modern cinemas have QR codes in the lobby that let you order and pay for snacks from your phone to avoid waiting in line." },
|
||||
{ question: "Where should theater QR codes be placed?", answer: "The back of every theater seat, the main lobby counter, and on giant posters for upcoming films." }
|
||||
],
|
||||
placementTips: [
|
||||
"Individual seat backs for programs and concessions",
|
||||
"Entrance counter for digital ticketing and trailers",
|
||||
"Exit foyer posters for future show bookings"
|
||||
],
|
||||
germanKeyword: "Theater"
|
||||
}
|
||||
];
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries3: IndustryPage[] = [
|
||||
{
|
||||
slug: "schools",
|
||||
name: "Schools",
|
||||
title: "QR Codes for Schools",
|
||||
metaTitle: "QR Codes for Schools: Parent Communication & Resources",
|
||||
metaDescription: "Improve parent-teacher communication and student resource sharing with QR codes for newsletters, homework portals, and event sign-ups.",
|
||||
headline: "QR Codes for Schools: Simple Parent-Teacher Connectivity",
|
||||
subheadline: "Let parents access the latest newsletter and homework updates from the school gate or lobby",
|
||||
heroImage: "/marketing/industries/schools.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Parent Newsletter Read Rates" },
|
||||
{ value: "40%", label: "Faster Event RSVP Responses" },
|
||||
{ value: "3x", label: "Higher Resource Hub Engagement" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Parent Newsletter Access", description: "Place a QR code at the school gate or reception. Parents scan while picking up children to read the latest digital newsletter or school announcements." },
|
||||
{ title: "Digital Homework Portals", description: "Direct links to the school's virtual learning environment (VLE) on homework planners ensure students and parents always find assignments." },
|
||||
{ title: "One-Tap Event RSVP", description: "QR codes on paper flyers for school plays, sports days, and parent-teacher meetings link to the digital sign-up form instantly." }
|
||||
],
|
||||
useCases: [
|
||||
"Parent newsletter link at school gates",
|
||||
"Homework and learning portal links on planners",
|
||||
"School play and sports day event RSVPs",
|
||||
"Cafeteria payment and menu links",
|
||||
"Teacher vCard and contact info for meetings"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "event-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do schools use QR codes for parents?", answer: "Schools place codes at gates or in reception that link to newsletters and school announcements—making mobile-first communication effortless for parents." },
|
||||
{ question: "Can QR codes help with school event planning?", answer: "Yes, by putting a QR on any paper flyer, schools can get instant RSVPs and track attendance for events like plays and fairs." },
|
||||
{ question: "Where should school QR codes be placed?", answer: "The school gates, the main reception desk, student homework planners, and on all physical event posters." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main entrance gate for parent newsletters",
|
||||
"Reception desk sign for school visitor sign-in",
|
||||
"Physical event posters for digital RSVPs"
|
||||
],
|
||||
germanKeyword: "Schulen"
|
||||
},
|
||||
{
|
||||
slug: "churches",
|
||||
name: "Churches & Places of Worship",
|
||||
title: "QR Codes for Churches & Worship",
|
||||
metaTitle: "QR Codes for Churches: Digital Giving & Bulletins",
|
||||
metaDescription: "Increase community engagement with QR codes for digital donations, mobile bulletins, event calendars, and newsletter sign-ups.",
|
||||
headline: "QR Codes for Churches: Digital Bulletins and Simple Giving",
|
||||
subheadline: "Help your congregation stay connected with digital programs, hymnals, and one-tap donations from every pew",
|
||||
heroImage: "/marketing/industries/churches.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Increase in Weekly Digital Giving" },
|
||||
{ value: "50%", label: "Reduction in Printed Bulletin Costs" },
|
||||
{ value: "2x", label: "More Community Event Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Frictionless Digital Giving", description: "A QR code on the back of every pew or in the weekly program links directly to your secure donation portal—making it easy for the modern congregation to give." },
|
||||
{ title: "Digital Bulletins and Hymnals", description: "Reduce your environmental impact and printing costs by linking to the week's program, lyrics, and announcements via a single scan." },
|
||||
{ title: "Community Calendar and Groups", description: "Link QR codes to your small group sign-up forms and community events calendar, encouraging deeper engagement beyond Sunday service." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital donation link on pews and programs",
|
||||
"Sunday bulletin and hymnal PDF access",
|
||||
"Community event and small group sign-ups",
|
||||
"Monthly newsletter and news sign-up links",
|
||||
"Prayer request form from the back of the pew"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "event-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do churches use QR codes for giving?", answer: "Churches place codes on pews or in bulletins that link directly to their payment provider, letting the congregation donate securely from their phones." },
|
||||
{ question: "Can QR codes replace printed church bulletins?", answer: "Yes, many congregations now scan a QR at the entrance to access the digital program and hymnal—saving thousands in annual printing costs." },
|
||||
{ question: "Where should churches place QR codes?", answer: "The back of every pew, the main lobby notice board, and the front cover of the physical weekly program." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of every pew for donations and prayers",
|
||||
"Lobby notice board for community events",
|
||||
"Front of paper programs for digital access"
|
||||
],
|
||||
germanKeyword: "Kirchen"
|
||||
},
|
||||
{
|
||||
slug: "art-galleries",
|
||||
name: "Art Galleries",
|
||||
title: "QR Codes for Art Galleries",
|
||||
metaTitle: "QR Codes for Art Galleries: Artist Bios & Purchasing",
|
||||
metaDescription: "Engage art collectors with QR codes for artist biographies, price lists, virtual exhibitions, and purchase inquiries.",
|
||||
headline: "QR Codes for Art Galleries: Storytelling and Seamless Sales",
|
||||
subheadline: "Let visitors dive deeper into every artwork with artist biographies and purchase links at every label",
|
||||
heroImage: "/marketing/industries/art-galleries.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "More Artist Bio Views via Exhibit QR" },
|
||||
{ value: "40%", label: "Faster Inquiry-to-Sale Conversion" },
|
||||
{ value: "2x", label: "Higher Instagram Follower Growth" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Deep-Dive Artist Biographies", description: "A QR on the wall label links to the artist's full biography, studio videos, and available works—providing context without crowding the gallery walls." },
|
||||
{ title: "Immediate Purchase Inquiries", description: "Link QR codes to a direct inquiry form or purchase link for every artwork, allowing collectors to start the buying process the moment they feel inspired." },
|
||||
{ title: "Virtual Exhibition Catalogs", description: "Give visitors a QR code at the entrance linking to the full digital exhibition catalog—which they can easily share with fellow art lovers." }
|
||||
],
|
||||
useCases: [
|
||||
"Artist bio and video link on each artwork label",
|
||||
"Price list and purchase inquiry portal",
|
||||
"Digital exhibition catalog at the entrance",
|
||||
"Social media following and artist tags",
|
||||
"Mailing list and upcoming show announcements"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do art galleries use QR codes for sales?", answer: "Galleries place QR codes next to artworks that link directly to an inquiry form or a purchase portal, capturing interest while the collector is in front of the piece." },
|
||||
{ question: "Can QR codes show more work from the same artist?", answer: "Yes, the code can link to a digital portfolio showing other available works by the artist that aren't physically in the current show." },
|
||||
{ question: "Where should art gallery QR codes be placed?", answer: "Discreetly next to each piece's label, on the front desk, and in the main exhibition brochure." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom-right of artwork identification labels",
|
||||
"Front desk pillar for the full digital catalog",
|
||||
"Social media wall for visitor tagging and following"
|
||||
],
|
||||
germanKeyword: "Kunstgalerien"
|
||||
},
|
||||
{
|
||||
slug: "stadiums",
|
||||
name: "Stadiums & Arenas",
|
||||
title: "QR Codes for Stadiums & Arenas",
|
||||
metaTitle: "QR Codes for Stadiums: Seat Delivery & Digital Tickets",
|
||||
metaDescription: "Improve the fan experience with QR codes for in-seat food delivery, digital ticketing, stadium maps, and exclusive merch offers.",
|
||||
headline: "QR Codes for Stadiums: Bringing the Fan Experience to Every Seat",
|
||||
subheadline: "Shorten queues and engage fans with in-seat ordering, interactive maps, and exclusive mobile-only offers",
|
||||
heroImage: "/marketing/industries/stadiums.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "Reduction in Concession Stand Queues" },
|
||||
{ value: "2x", label: "More Merch Sales via Exclusive Seats QR" },
|
||||
{ value: "50%", label: "Faster Wayfinding to Block and Row" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "In-Seat Concession Ordering", description: "Place a QR code on the back of every stadium seat. Fans scan to order food and drinks for collection—or even delivery—without missing a minute of the match." },
|
||||
{ title: "Interactive Stadium Wayfinding", description: "Help fans find their block, row, nearest restrooms, and parking with QR codes on pillars that link to real-time interactive arena maps." },
|
||||
{ title: "Exclusive Fan Zone Content", description: "Link seat QR codes to digital match programs, team stats, and exclusive merch offers that are only available during the event." }
|
||||
],
|
||||
useCases: [
|
||||
"Food and drink pre-ordering from every seat",
|
||||
"Interactive block and row wayfinding from pillars",
|
||||
"Digital match day programs and live stats",
|
||||
"Fan zone game and exclusive merch offer links",
|
||||
"Contact info for security and incident reporting"
|
||||
],
|
||||
tools: ["url-qr-code", "wifi-qr-code", "sms-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do stadiums use QR codes for concessions?", answer: "Stadiums put QR codes on seat backs that link to the concessions menu. Fans order from their phone and get a notification when it's ready for pickup." },
|
||||
{ question: "Can QR codes help with stadium wayfinding?", answer: "Yes, codes on terminal pillars link to maps that show the fan's current location and the fastest route to their specific seating block." },
|
||||
{ question: "Where are the best places for stadium QR codes?", answer: "The back of every seat, the main entrance arches, and the concession stand banners for menu browsing." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of every individual stadium seat for food",
|
||||
"Main entrance pillars for block-specific maps",
|
||||
"Concession stand area for digital menu viewing"
|
||||
],
|
||||
germanKeyword: "Stadien"
|
||||
},
|
||||
{
|
||||
slug: "theaters",
|
||||
name: "Theaters & Cinemas",
|
||||
title: "QR Codes for Theaters & Cinemas",
|
||||
metaTitle: "QR Codes for Theaters: Digital Programs & Concessions",
|
||||
metaDescription: "Modernize your theater or cinema with QR codes for digital programs, movie trailers, in-seat ordering, and future show bookings.",
|
||||
headline: "QR Codes for Theaters: Programs and Popcorn from Your Phone",
|
||||
subheadline: "Replace paper programs and shorten popcorn queues with digital show guides and mobile-first concessions",
|
||||
heroImage: "/marketing/industries/theaters.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Reduction in Concession Waiting Times" },
|
||||
{ value: "3x", label: "More Future Show Bookings via Post-Show QR" },
|
||||
{ value: "40%", label: "Higher Engagement with Digital Programs" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Show Programs", description: "Place a QR on the back of every theater seat linking to the full cast list, director's notes, and show information—saving thousands on printing costs." },
|
||||
{ title: "Fast-Track Concessions", description: "A QR in the lobby or on seats allows guests to pre-order popcorn and snacks, allowing them to skip the queue during the interval." },
|
||||
{ title: "Immediate Future Booking", description: "Place a QR code on the screen or in the exit foyer linking to tickets for the next show or film—capturing interest while the guest is still in the moment." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital show guides and cast info from seat QR",
|
||||
"Mobile concessions and snack pre-ordering",
|
||||
"Movie trailers and behind-the-scenes content",
|
||||
"Future show ticketing links in the exit foyer",
|
||||
"Digital ticket wallet and scanner at the door"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "youtube-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do theaters use QR codes for programs?", answer: "They place codes on the back of seats that link to a PDF or web version of the program—meaning no more paper litter and easier updates." },
|
||||
{ question: "Can I order popcorn with a QR code?", answer: "Yes, many modern cinemas have QR codes in the lobby that let you order and pay for snacks from your phone to avoid waiting in line." },
|
||||
{ question: "Where should theater QR codes be placed?", answer: "The back of every theater seat, the main lobby counter, and on giant posters for upcoming films." }
|
||||
],
|
||||
placementTips: [
|
||||
"Individual seat backs for programs and concessions",
|
||||
"Entrance counter for digital ticketing and trailers",
|
||||
"Exit foyer posters for future show bookings"
|
||||
],
|
||||
germanKeyword: "Theater"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries4: IndustryPage[] = [
|
||||
{
|
||||
slug: "wedding-planners",
|
||||
name: "Wedding Planners",
|
||||
title: "QR Codes for Wedding Planners",
|
||||
metaTitle: "QR Codes for Weddings: RSVPs & Photo Sharing",
|
||||
metaDescription: "Make every wedding day more special with QR codes for digital RSVPs, guest photo sharing, interactive seating charts, and gift registries.",
|
||||
headline: "QR Codes for Wedding Planners: Digital Elegance and Simple Guest Management",
|
||||
subheadline: "Let guests RSVP, find their seat, and share their favorite photos from a simple scan on your save-the-date or welcome sign",
|
||||
heroImage: "/marketing/industries/wedding-planners.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Faster RSVP Response Collection" },
|
||||
{ value: "2x", label: "More Guest Photos Collected via Shared Album" },
|
||||
{ value: "40%", label: "Reduction in Paper Information Sheets" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "One-Tap RSVPs and Registries", description: "Place a QR on the physical save-the-date or invitation. Guests scan to RSVP, select their meal, and access the gift registry instantly." },
|
||||
{ title: "Day-of Digital Wayfinding", description: "A QR on the welcome sign links to an interactive seating chart, timeline of events, and a digital guestbook—keeping everyone informed without bulky signage." },
|
||||
{ title: "Instant Shared Photo Albums", description: "Place a QR at every table. Guests scan to upload their photos and videos from the night directly to the couple's shared digital album." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital RSVP and meal selection link on invitations",
|
||||
"Interactive seating chart and timeline from welcome signs",
|
||||
"Shared photo album and guestbook from table tents",
|
||||
"Digital gift registry links for guests",
|
||||
"Venue directions and local accommodation guides"
|
||||
],
|
||||
tools: ["url-qr-code", "google-maps-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do wedding planners use QR codes for RSVPs?", answer: "Planners include a QR code on physical invitations that links directly to a digital RSVP form, collecting all responses in one place." },
|
||||
{ question: "Can wedding guests share photos via QR codes?", answer: "Yes, by scanning a QR on their table, guests can upload their own photos from the night directly to a shared gallery or Google Drive." },
|
||||
{ question: "Where are the best places for wedding QR codes?", answer: "The physical invitation, the welcome sign at the venue entrance, and the individual dinner tables." }
|
||||
],
|
||||
placementTips: [
|
||||
"Physical invitation for RSVPs and registries",
|
||||
"Welcome sign for seating charts and event timelines",
|
||||
"Every dinner table for photo sharing and digital guestbooks"
|
||||
],
|
||||
germanKeyword: "Hochzeitsplaner"
|
||||
},
|
||||
{
|
||||
slug: "photographers",
|
||||
name: "Photographers",
|
||||
title: "QR Codes for Photographers",
|
||||
metaTitle: "QR Codes for Photographers: Portfolios & Booking",
|
||||
metaDescription: "Grow your photography business with QR codes for digital portfolios, online booking, and secure client gallery access.",
|
||||
headline: "QR Codes for Photographers: Share Your Work, Capture More Leads",
|
||||
subheadline: "Let clients view your full portfolio and book their next session with a simple scan of your business card or promotional material",
|
||||
heroImage: "/marketing/industries/photographers.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Portfolio Views via vCard QR" },
|
||||
{ value: "40%", label: "Higher Higher Discovery-to-Booking Rates" },
|
||||
{ value: "3x", label: "More Social Media Referral Traffic" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Mobile Portfolio Access", description: "Ensure your best work is always with you. A QR on your business card links directly to your digital portfolio or Instagram—no more searching for URLs." },
|
||||
{ title: "Self-Service Session Booking", description: "Link a QR on your brochures or studio window directly to your booking calendar, allowing clients to pick a date and pay deposits from their phone." },
|
||||
{ title: "Simple Client Gallery Delivery", description: "Give clients a small branded card with a QR code linking to their secure private gallery for viewing and downloading their final photos." }
|
||||
],
|
||||
useCases: [
|
||||
"Portfolio and social media link on business cards",
|
||||
"Booking portal and package info on brochures",
|
||||
"Client gallery access cards after a shoot",
|
||||
"Leave behind cards at events for attendee photo access",
|
||||
"Google review collection after a successful session"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do photographers use QR codes for networking?", answer: "Most use vCard QR codes on their business cards to share their contact info and a link to their digital portfolio in a single scan." },
|
||||
{ question: "Can QR codes help deliver client photos?", answer: "Yes, you can provide a QR code that links directly to the client's secure, password-protected online gallery." },
|
||||
{ question: "Where should photographer QR codes be placed?", answer: "Business cards, brochures given at events, studio windows, and the final delivery card for clients." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of the physical business card for portfolio",
|
||||
"Branded card given after a shoot for gallery access",
|
||||
"Brochures handed out at weddings or corporate events"
|
||||
],
|
||||
germanKeyword: "Fotografen"
|
||||
},
|
||||
{
|
||||
slug: "trade-shows",
|
||||
name: "Trade Shows & Events",
|
||||
title: "QR Codes for Trade Shows",
|
||||
metaTitle: "QR Codes for Trade Shows: Lead Gen & Digital Brochures",
|
||||
metaDescription: "Maximize your trade show ROI with QR codes for lead capture, digital brochures, product demos, and booth scheduling.",
|
||||
headline: "QR Codes for Trade Shows: No More Heavy Brochures, More High-Quality Leads",
|
||||
subheadline: "Replace expensive paper materials with digital brochures and seamless lead capture at your booth",
|
||||
heroImage: "/marketing/industries/trade-shows.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "More Higher Lead Capture Rates" },
|
||||
{ value: "3x", label: "Fewer Printed Brochure Costs" },
|
||||
{ value: "2x", label: "Higher Post-Event Inquiry Follow-ups" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Brochure Distributions", description: "Save on printing and shipping. A QR at your booth links visitors to your full digital brochure or product catalog, which they can take with them on their phone." },
|
||||
{ title: "One-Scan Lead Generation", description: "Capture interest instantly. A QR code on your booth signage links to a lead form where visitors can request a demo or a follow-up call." },
|
||||
{ title: "Interactive Product Demos", description: "Link QR codes to unboxing videos, case studies, or interactive 3D models that bring your product to life for every visitor." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital brochure and catalog access from booth pillar",
|
||||
"Lead generation and demo request forms",
|
||||
"Staff vCard exchange from physical badges",
|
||||
"Interactive venue and booth maps for attendees",
|
||||
"Social media growth via booth Instagram/LinkedIn QR"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "vcard-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do QR codes work for trade show lead gen?", answer: "Visitors scan a code at your booth that takes them to a form where they enter their details to receive a brochure or book a meeting." },
|
||||
{ question: "Can I replace all papers with QR codes at an event?", answer: "Yes, many booths use 'digital first' signage where all info, catalogs, and bios are accessed via QR codes—eliminating heavy paper waste." },
|
||||
{ question: "Where is the best place to put a QR code at a trade show?", answer: "Booth pillars at eye level, counter-top display cards, and on every staff member's badge or business card." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main eye-level booth pillar for general info",
|
||||
"Front counter display for lead capture from a scan",
|
||||
"Back of staff member badges for digital business cards"
|
||||
],
|
||||
germanKeyword: "Messen"
|
||||
},
|
||||
{
|
||||
slug: "clothing-stores",
|
||||
name: "Clothing Stores",
|
||||
title: "QR Codes for Clothing Stores",
|
||||
metaTitle: "QR Codes for Fashion: Fit Guides & Inventory",
|
||||
metaDescription: "Improve the fashion retail experience with QR codes for size guides, styling videos, inventory lookup, and digital loyalty rewards.",
|
||||
headline: "QR Codes for Clothing Stores: Finding the Perfect Fit and Style",
|
||||
subheadline: "Let customers view styling videos and check sizes from every rack and fitting room",
|
||||
heroImage: "/marketing/industries/clothing-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Style Guides" },
|
||||
{ value: "40%", label: "Increase in Online Order Completion" },
|
||||
{ value: "2x", label: "More Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Fitting Room Style Guides", description: "Place QR codes in every fitting room that link to styling videos or 'shop the look' guides, encouraging customers to buy complete outfits." },
|
||||
{ title: "In-Store Size and Stock Check", description: "If a size isn't on the rack, a QR on the shelf lets the customer check online stock and order it for home delivery or store collection immediately." },
|
||||
{ title: "Instant Loyalty Rewards", description: "A QR at the checkout allows customers to join your loyalty program and earn points without filling out a paper form." }
|
||||
],
|
||||
useCases: [
|
||||
"Styling videos and size guides in fitting rooms",
|
||||
"Out-of-stock ordering from every rack QR",
|
||||
"Digital loyalty program and coupon access",
|
||||
"Instagram wall for customer selfie tagging",
|
||||
"Product care and washing instruction videos"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "app-store-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do clothing stores use QR codes in fitting rooms?", answer: "They place codes in the mirrors that link to outfit inspiration videos, size guides, or allow the customer to 'call for assistance'." },
|
||||
{ question: "Can QR codes help when a size is out of stock?", answer: "Yes, the code on the price tag can link directly to the online shop where the customer can order their size for home delivery." },
|
||||
{ question: "Where should fashion retailers place QR codes?", answer: "Fitting room mirrors, rack-end signs, and at the checkout counter for sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Fitting room mirror for inspiration and guides",
|
||||
"Rack-end display for inventory and size lookups",
|
||||
"Checkout counter for loyalty and email sign-up"
|
||||
],
|
||||
germanKeyword: "Bekleidungsgeschäfte"
|
||||
},
|
||||
{
|
||||
slug: "florists",
|
||||
name: "Florists",
|
||||
title: "QR Codes for Florists",
|
||||
metaTitle: "QR Codes for Florists: Plant Care & Video Messages",
|
||||
metaDescription: "Make every bouquet special with QR codes for personalized video messages, plant care instructions, and easy delivery tracking.",
|
||||
headline: "QR Codes for Florists: Adding a Personal Touch to Every Bloom",
|
||||
subheadline: "Let your customers attach video messages to their flowers and access care guides with a single scan",
|
||||
heroImage: "/marketing/industries/florists.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Higher Customer Satisfaction via Care Guides" },
|
||||
{ value: "3x", label: "More Repeated Orders from loyalty QRs" },
|
||||
{ value: "50%", label: "Increase in Video Message Attachment Adoption" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Personal Video Messages", description: "Let customers record a personalized video card and attach it to their bouquet via a QR code—creating a unique, modern gifting experience." },
|
||||
{ title: "Digital Flower Care Guides", description: "Provide a QR on the care card that links to detailed instructions and videos on how to keep their specific flowers fresh for longer." },
|
||||
{ title: "Subscription and Re-Order Ease", description: "A QR on the wrapping paper or card links to your subscription service or a one-click re-order page for future occasions." }
|
||||
],
|
||||
useCases: [
|
||||
"Personalized video message attached to bouquets",
|
||||
"Digital plant and flower care instructions",
|
||||
"Subscription service and loyalty sign-up links",
|
||||
"Order tracking and delivery status portal",
|
||||
"Instagram tagging for beautiful arrangements"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do florists use QR codes for video messages?", answer: "Customers record a video, and the florist generates a QR code that is printed on the gift card for the recipient to scan and watch." },
|
||||
{ question: "Can QR codes help flowers last longer?", answer: "Yes, by linking to specific care guides, florists ensure customers know exactly how to trim and water their blooms." },
|
||||
{ question: "Where should florists place QR codes?", answer: "On the gift card, the wrapping paper, and at the shop window for after-hours ordering." }
|
||||
],
|
||||
placementTips: [
|
||||
"Gift card for personalized video messages",
|
||||
"Care card for plant and flower maintenance videos",
|
||||
"Shop window for easy after-hours ordering"
|
||||
],
|
||||
germanKeyword: "Blumengeschäfte"
|
||||
}
|
||||
];
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries4: IndustryPage[] = [
|
||||
{
|
||||
slug: "wedding-planners",
|
||||
name: "Wedding Planners",
|
||||
title: "QR Codes for Wedding Planners",
|
||||
metaTitle: "QR Codes for Weddings: RSVPs & Photo Sharing",
|
||||
metaDescription: "Make every wedding day more special with QR codes for digital RSVPs, guest photo sharing, interactive seating charts, and gift registries.",
|
||||
headline: "QR Codes for Wedding Planners: Digital Elegance and Simple Guest Management",
|
||||
subheadline: "Let guests RSVP, find their seat, and share their favorite photos from a simple scan on your save-the-date or welcome sign",
|
||||
heroImage: "/marketing/industries/wedding-planners.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Faster RSVP Response Collection" },
|
||||
{ value: "2x", label: "More Guest Photos Collected via Shared Album" },
|
||||
{ value: "40%", label: "Reduction in Paper Information Sheets" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "One-Tap RSVPs and Registries", description: "Place a QR on the physical save-the-date or invitation. Guests scan to RSVP, select their meal, and access the gift registry instantly." },
|
||||
{ title: "Day-of Digital Wayfinding", description: "A QR on the welcome sign links to an interactive seating chart, timeline of events, and a digital guestbook—keeping everyone informed without bulky signage." },
|
||||
{ title: "Instant Shared Photo Albums", description: "Place a QR at every table. Guests scan to upload their photos and videos from the night directly to the couple's shared digital album." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital RSVP and meal selection link on invitations",
|
||||
"Interactive seating chart and timeline from welcome signs",
|
||||
"Shared photo album and guestbook from table tents",
|
||||
"Digital gift registry links for guests",
|
||||
"Venue directions and local accommodation guides"
|
||||
],
|
||||
tools: ["url-qr-code", "google-maps-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do wedding planners use QR codes for RSVPs?", answer: "Planners include a QR code on physical invitations that links directly to a digital RSVP form, collecting all responses in one place." },
|
||||
{ question: "Can wedding guests share photos via QR codes?", answer: "Yes, by scanning a QR on their table, guests can upload their own photos from the night directly to a shared gallery or Google Drive." },
|
||||
{ question: "Where are the best places for wedding QR codes?", answer: "The physical invitation, the welcome sign at the venue entrance, and the individual dinner tables." }
|
||||
],
|
||||
placementTips: [
|
||||
"Physical invitation for RSVPs and registries",
|
||||
"Welcome sign for seating charts and event timelines",
|
||||
"Every dinner table for photo sharing and digital guestbooks"
|
||||
],
|
||||
germanKeyword: "Hochzeitsplaner"
|
||||
},
|
||||
{
|
||||
slug: "photographers",
|
||||
name: "Photographers",
|
||||
title: "QR Codes for Photographers",
|
||||
metaTitle: "QR Codes for Photographers: Portfolios & Booking",
|
||||
metaDescription: "Grow your photography business with QR codes for digital portfolios, online booking, and secure client gallery access.",
|
||||
headline: "QR Codes for Photographers: Share Your Work, Capture More Leads",
|
||||
subheadline: "Let clients view your full portfolio and book their next session with a simple scan of your business card or promotional material",
|
||||
heroImage: "/marketing/industries/photographers.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "More Portfolio Views via vCard QR" },
|
||||
{ value: "40%", label: "Higher Higher Discovery-to-Booking Rates" },
|
||||
{ value: "3x", label: "More Social Media Referral Traffic" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Mobile Portfolio Access", description: "Ensure your best work is always with you. A QR on your business card links directly to your digital portfolio or Instagram—no more searching for URLs." },
|
||||
{ title: "Self-Service Session Booking", description: "Link a QR on your brochures or studio window directly to your booking calendar, allowing clients to pick a date and pay deposits from their phone." },
|
||||
{ title: "Simple Client Gallery Delivery", description: "Give clients a small branded card with a QR code linking to their secure private gallery for viewing and downloading their final photos." }
|
||||
],
|
||||
useCases: [
|
||||
"Portfolio and social media link on business cards",
|
||||
"Booking portal and package info on brochures",
|
||||
"Client gallery access cards after a shoot",
|
||||
"Leave behind cards at events for attendee photo access",
|
||||
"Google review collection after a successful session"
|
||||
],
|
||||
tools: ["vcard-qr-code", "url-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do photographers use QR codes for networking?", answer: "Most use vCard QR codes on their business cards to share their contact info and a link to their digital portfolio in a single scan." },
|
||||
{ question: "Can QR codes help deliver client photos?", answer: "Yes, you can provide a QR code that links directly to the client's secure, password-protected online gallery." },
|
||||
{ question: "Where should photographer QR codes be placed?", answer: "Business cards, brochures given at events, studio windows, and the final delivery card for clients." }
|
||||
],
|
||||
placementTips: [
|
||||
"Back of the physical business card for portfolio",
|
||||
"Branded card given after a shoot for gallery access",
|
||||
"Brochures handed out at weddings or corporate events"
|
||||
],
|
||||
germanKeyword: "Fotografen"
|
||||
},
|
||||
{
|
||||
slug: "trade-shows",
|
||||
name: "Trade Shows & Events",
|
||||
title: "QR Codes for Trade Shows",
|
||||
metaTitle: "QR Codes for Trade Shows: Lead Gen & Digital Brochures",
|
||||
metaDescription: "Maximize your trade show ROI with QR codes for lead capture, digital brochures, product demos, and booth scheduling.",
|
||||
headline: "QR Codes for Trade Shows: No More Heavy Brochures, More High-Quality Leads",
|
||||
subheadline: "Replace expensive paper materials with digital brochures and seamless lead capture at your booth",
|
||||
heroImage: "/marketing/industries/trade-shows.png",
|
||||
statistics: [
|
||||
{ value: "40%", label: "More Higher Lead Capture Rates" },
|
||||
{ value: "3x", label: "Fewer Printed Brochure Costs" },
|
||||
{ value: "2x", label: "Higher Post-Event Inquiry Follow-ups" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Brochure Distributions", description: "Save on printing and shipping. A QR at your booth links visitors to your full digital brochure or product catalog, which they can take with them on their phone." },
|
||||
{ title: "One-Scan Lead Generation", description: "Capture interest instantly. A QR code on your booth signage links to a lead form where visitors can request a demo or a follow-up call." },
|
||||
{ title: "Interactive Product Demos", description: "Link QR codes to unboxing videos, case studies, or interactive 3D models that bring your product to life for every visitor." }
|
||||
],
|
||||
useCases: [
|
||||
"Digital brochure and catalog access from booth pillar",
|
||||
"Lead generation and demo request forms",
|
||||
"Staff vCard exchange from physical badges",
|
||||
"Interactive venue and booth maps for attendees",
|
||||
"Social media growth via booth Instagram/LinkedIn QR"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "vcard-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do QR codes work for trade show lead gen?", answer: "Visitors scan a code at your booth that takes them to a form where they enter their details to receive a brochure or book a meeting." },
|
||||
{ question: "Can I replace all papers with QR codes at an event?", answer: "Yes, many booths use 'digital first' signage where all info, catalogs, and bios are accessed via QR codes—eliminating heavy paper waste." },
|
||||
{ question: "Where is the best place to put a QR code at a trade show?", answer: "Booth pillars at eye level, counter-top display cards, and on every staff member's badge or business card." }
|
||||
],
|
||||
placementTips: [
|
||||
"Main eye-level booth pillar for general info",
|
||||
"Front counter display for lead capture from a scan",
|
||||
"Back of staff member badges for digital business cards"
|
||||
],
|
||||
germanKeyword: "Messen"
|
||||
},
|
||||
{
|
||||
slug: "clothing-stores",
|
||||
name: "Clothing Stores",
|
||||
title: "QR Codes for Clothing Stores",
|
||||
metaTitle: "QR Codes for Fashion: Fit Guides & Inventory",
|
||||
metaDescription: "Improve the fashion retail experience with QR codes for size guides, styling videos, inventory lookup, and digital loyalty rewards.",
|
||||
headline: "QR Codes for Clothing Stores: Finding the Perfect Fit and Style",
|
||||
subheadline: "Let customers view styling videos and check sizes from every rack and fitting room",
|
||||
heroImage: "/marketing/industries/clothing-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Style Guides" },
|
||||
{ value: "40%", label: "Increase in Online Order Completion" },
|
||||
{ value: "2x", label: "More Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Fitting Room Style Guides", description: "Place QR codes in every fitting room that link to styling videos or 'shop the look' guides, encouraging customers to buy complete outfits." },
|
||||
{ title: "In-Store Size and Stock Check", description: "If a size isn't on the rack, a QR on the shelf lets the customer check online stock and order it for home delivery or store collection immediately." },
|
||||
{ title: "Instant Loyalty Rewards", description: "A QR at the checkout allows customers to join your loyalty program and earn points without filling out a paper form." }
|
||||
],
|
||||
useCases: [
|
||||
"Styling videos and size guides in fitting rooms",
|
||||
"Out-of-stock ordering from every rack QR",
|
||||
"Digital loyalty program and coupon access",
|
||||
"Instagram wall for customer selfie tagging",
|
||||
"Product care and washing instruction videos"
|
||||
],
|
||||
tools: ["url-qr-code", "instagram-qr-code", "app-store-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do clothing stores use QR codes in fitting rooms?", answer: "They place codes in the mirrors that link to outfit inspiration videos, size guides, or allow the customer to 'call for assistance'." },
|
||||
{ question: "Can QR codes help when a size is out of stock?", answer: "Yes, the code on the price tag can link directly to the online shop where the customer can order their size for home delivery." },
|
||||
{ question: "Where should fashion retailers place QR codes?", answer: "Fitting room mirrors, rack-end signs, and at the checkout counter for sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Fitting room mirror for inspiration and guides",
|
||||
"Rack-end display for inventory and size lookups",
|
||||
"Checkout counter for loyalty and email sign-up"
|
||||
],
|
||||
germanKeyword: "Bekleidungsgeschäfte"
|
||||
},
|
||||
{
|
||||
slug: "florists",
|
||||
name: "Florists",
|
||||
title: "QR Codes for Florists",
|
||||
metaTitle: "QR Codes for Florists: Plant Care & Video Messages",
|
||||
metaDescription: "Make every bouquet special with QR codes for personalized video messages, plant care instructions, and easy delivery tracking.",
|
||||
headline: "QR Codes for Florists: Adding a Personal Touch to Every Bloom",
|
||||
subheadline: "Let your customers attach video messages to their flowers and access care guides with a single scan",
|
||||
heroImage: "/marketing/industries/florists.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Higher Customer Satisfaction via Care Guides" },
|
||||
{ value: "3x", label: "More Repeated Orders from loyalty QRs" },
|
||||
{ value: "50%", label: "Increase in Video Message Attachment Adoption" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Personal Video Messages", description: "Let customers record a personalized video card and attach it to their bouquet via a QR code—creating a unique, modern gifting experience." },
|
||||
{ title: "Digital Flower Care Guides", description: "Provide a QR on the care card that links to detailed instructions and videos on how to keep their specific flowers fresh for longer." },
|
||||
{ title: "Subscription and Re-Order Ease", description: "A QR on the wrapping paper or card links to your subscription service or a one-click re-order page for future occasions." }
|
||||
],
|
||||
useCases: [
|
||||
"Personalized video message attached to bouquets",
|
||||
"Digital plant and flower care instructions",
|
||||
"Subscription service and loyalty sign-up links",
|
||||
"Order tracking and delivery status portal",
|
||||
"Instagram tagging for beautiful arrangements"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do florists use QR codes for video messages?", answer: "Customers record a video, and the florist generates a QR code that is printed on the gift card for the recipient to scan and watch." },
|
||||
{ question: "Can QR codes help flowers last longer?", answer: "Yes, by linking to specific care guides, florists ensure customers know exactly how to trim and water their blooms." },
|
||||
{ question: "Where should florists place QR codes?", answer: "On the gift card, the wrapping paper, and at the shop window for after-hours ordering." }
|
||||
],
|
||||
placementTips: [
|
||||
"Gift card for personalized video messages",
|
||||
"Care card for plant and flower maintenance videos",
|
||||
"Shop window for easy after-hours ordering"
|
||||
],
|
||||
germanKeyword: "Blumengeschäfte"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,199 +1,199 @@
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries5: IndustryPage[] = [
|
||||
{
|
||||
slug: "pet-stores",
|
||||
name: "Pet Stores",
|
||||
title: "QR Codes for Pet Stores",
|
||||
metaTitle: "QR Codes for Pet Stores: Nutrition & Care Guides",
|
||||
metaDescription: "Give pet owners the best advice with QR codes for nutrition information, pet care tutorials, and digital loyalty rewards.",
|
||||
headline: "QR Codes for Pet Stores: Expert Care for Every Pet",
|
||||
subheadline: "Let customers scan for expert nutrition advice and care videos at every shelf and aisle",
|
||||
heroImage: "/marketing/industries/pet-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Nutrition Guides" },
|
||||
{ value: "40%", label: "Increase in Online Order Re-Subscribing" },
|
||||
{ value: "2x", label: "More Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Nutrition and Ingredient Guides", description: "Place QR codes near specialized pet food racks. Owners scan to read full ingredient lists, allergy info, and feeding guides from their phone." },
|
||||
{ title: "One-Tap Loyalty and Rewards", description: "A QR at the checkout allows pet owners to join your rewards club and track their 'buy 10, get 1 free' progress without a paper card." },
|
||||
{ title: "Pet Care Tutorial Videos", description: "For complex products like aquarium setups or grooming tools, a QR on the shelf links to step-by-step video tutorials and setup guides." }
|
||||
],
|
||||
useCases: [
|
||||
"Nutrition and ingredient info on pet food racks",
|
||||
"Grooming and setup tutorial videos for products",
|
||||
"Loyalty and reward program enrollment at checkout",
|
||||
"Adoption event and community poster sign-ups",
|
||||
"Online re-order and subscription portal link"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do pet stores use QR codes for nutrition?", answer: "They place codes on food shelves that link to detailed nutritional breakdowns and portion calculators for different breeds." },
|
||||
{ question: "Can QR codes help with pet store loyalty cards?", answer: "Yes, by scanning a QR at the counter, customers can store their points and rewards digitally on their phone instead of carrying a paper card." },
|
||||
{ question: "Where should pet stores place QR codes?", answer: "The food aisles, high-tech product boxes, and the main checkout counter for loyalty sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Specialized food section for nutrition guides",
|
||||
"Grooming or complex tool shelves for video tutorials",
|
||||
"Checkout counter for digital loyalty card storage"
|
||||
],
|
||||
germanKeyword: "Zoohandlungen"
|
||||
},
|
||||
{
|
||||
slug: "electronics-stores",
|
||||
name: "Electronics Stores",
|
||||
title: "QR Codes for Electronics Stores",
|
||||
metaTitle: "QR Codes for Electronics: Product Manuals & Demos",
|
||||
metaDescription: "Boost sales with QR codes for product manuals, unboxing videos, comparison charts, and warranty registration in-store.",
|
||||
headline: "QR Codes for Electronics Stores: No More Manuals, More Demos",
|
||||
subheadline: "Let customers watch unboxing videos and find exact specs from every product shelf",
|
||||
heroImage: "/marketing/industries/electronics-stores.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Higher Higher Discovery-to-Lead Rates" },
|
||||
{ value: "45%", label: "Increase in Online Warranty Registrations" },
|
||||
{ value: "3x", label: "More Product Comparison Chart Views" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Unboxing and Demo Video Links", description: "Place a QR on the product display. Customers scan to watch real-world unboxing and performance videos, making the buying decision easier." },
|
||||
{ title: "Instant Product Comparison Charts", description: "A QR on the shelf edge links to a digital table comparing the current model with others in the same category, helping customers find the right fit." },
|
||||
{ title: "Simplified Warranty Registration", description: "Ensure every customer registers their product. A QR on the receipt or the box links to your online warranty portal for instant sign-up." }
|
||||
],
|
||||
useCases: [
|
||||
"Unboxing and demo videos on display models",
|
||||
"Digital comparison charts on shelf edges",
|
||||
"Warranty registration links on receipts and boxes",
|
||||
"Product manuals and setup guides via PDF QR",
|
||||
"In-store tech support and status update portal"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do electronics stores use QR codes for manuals?", answer: "They place QR codes on shelf labels or boxes that link to the official digital PDF manual—saving paper and making it easier to search." },
|
||||
{ question: "Can QR codes help with product comparisons?", answer: "Yes, the code on the shelf can link to a digital comparison tool where customers can see specs side-by-side on their own phone." },
|
||||
{ question: "Where are the best places for electronics store QR codes?", answer: "The shelf edge under the product name, on the back of display models for specs, and on the checkout receipt for warranties." }
|
||||
],
|
||||
placementTips: [
|
||||
"Shelf edge underทุก item for specs and demos",
|
||||
"Inside the product box for warranty and setup guides",
|
||||
"Display models for expert video review links"
|
||||
],
|
||||
germanKeyword: "Elektronikgeschäfte"
|
||||
},
|
||||
{
|
||||
slug: "jewelry-stores",
|
||||
name: "Jewelry Stores",
|
||||
title: "QR Codes for Jewelry Stores",
|
||||
metaTitle: "QR Codes for Jewelry: Authentication & Styling",
|
||||
metaDescription: "Give every piece a story with QR codes for certificates of authenticity, styling guides, and custom design inquiries.",
|
||||
headline: "QR Codes for Jewelry Stores: Every Piece Tells a Story",
|
||||
subheadline: "Let customers access certificates of authenticity and styling guides at every display case",
|
||||
heroImage: "/marketing/industries/jewelry-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Certification Info" },
|
||||
{ value: "40%", label: "Increase in Custom Design Inquiries" },
|
||||
{ value: "2x", label: "More Social Media Referral Traffic" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Certificates of Authenticity", description: "Provide a QR code with every major purchase that links to the digital certification and history of the gemstone—boosting trust and transparency." },
|
||||
{ title: "Digital Style and Pairing Guides", description: "A QR on the display links to high-end lifestyle videos and guides showing how the piece can be styled and paired with other jewelry in your collection." },
|
||||
{ title: "Custom Design Collaboration", description: "Let clients start their unique journey. A QR on your showroom floor links to a design inquiry form where they can upload inspiration and book a consultation." }
|
||||
],
|
||||
useCases: [
|
||||
"Authenticity certificate and diamond report links",
|
||||
"Jewelry styling and care video guides",
|
||||
"Custom design inquiry and appointment booking",
|
||||
"Engagement and wedding band gallery links",
|
||||
"Instagram tagging for beautiful showroom pieces"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "whatsapp-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do jewelry stores use QR codes for certificates?", answer: "They provide a QR code that links to the specific gemstone's diamond report (GIA/IGI) or the store's own certificate of authenticity." },
|
||||
{ question: "Can I book a custom jewelry session via QR?", answer: "Yes, the code in the shop window or showroom can link directly to a booking form for a private consultation with a jeweler." },
|
||||
{ question: "Where should jewelry QR codes be placed?", answer: "Discreetly inside the display cases, on the physical gift card, and on the front of the jewelry box." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom corner of every gemstone display case",
|
||||
"Inside the physical jewelry box for care and guides",
|
||||
"Physical gift cards for the digital story of the piece"
|
||||
],
|
||||
germanKeyword: "Juweliere"
|
||||
},
|
||||
{
|
||||
slug: "hardware-stores",
|
||||
name: "Hardware Stores",
|
||||
title: "QR Codes for Hardware Stores",
|
||||
metaTitle: "QR Codes for Hardware: DIY Tutorials & Equipment Rental",
|
||||
metaDescription: "Help your customers build better with QR codes for DIY tutorial videos, project guides, and easy equipment rental booking.",
|
||||
headline: "QR Codes for Hardware Stores: Your In-Store DIY Expert",
|
||||
subheadline: "Let customers scan for project tutorials and product setup videos at every aisle and shelf",
|
||||
heroImage: "/marketing/industries/hardware-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Higher Discovery-to-Lead Rates" },
|
||||
{ value: "50%", label: "Faster Equipment Rental Booking" },
|
||||
{ value: "2x", label: "More Project Guide Video Completes" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "In-Aisle DIY Tutorials", description: "Place QR codes on shelves for power tools or plumbing. Customers scan to watch 'how-to' videos and project guides while they shop for their materials." },
|
||||
{ title: "Frictionless Equipment Rental", description: "A QR on the rental fleet in the store links directly to the booking calendar, allowing customers to reserve a tool for the weekend without waiting in line." },
|
||||
{ title: "Product Compatibility Check", description: "Link QR codes to digital tables that show which drill bits, blades, or filters are compatible with every major power tool you sell." }
|
||||
],
|
||||
useCases: [
|
||||
"DIY 'how-to' project videos and guide links",
|
||||
"Equipment and tool rental booking portal",
|
||||
"Product part and accessory compatibility tables",
|
||||
"Contractor account and loyalty sign-up links",
|
||||
"Lawn care and seasonal garden guide PDFs"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do hardware stores use QR codes for DIY?", answer: "They place codes on the shelf next to complex items like tiles or power tools that link to video tutorials showing how to use them." },
|
||||
{ question: "Can QR codes help with renting tools?", answer: "Yes, by scanning a QR on the rental machine, customers can check availability and book the tool for their duration immediately." },
|
||||
{ question: "Where is the best place to put a QR code in a DIY shop?", answer: "The end of product aisles for guide catalogs, on power tool display racks, and on the sides of large rental machines." }
|
||||
],
|
||||
placementTips: [
|
||||
"Aisle end banners for category-specific DIY guides",
|
||||
"Product boxes for assembly and warranty links",
|
||||
"Rental counter and equipment for booking access"
|
||||
],
|
||||
germanKeyword: "Baumärkte"
|
||||
},
|
||||
{
|
||||
slug: "cinemas",
|
||||
name: "Cinemas",
|
||||
title: "QR Codes for Cinemas",
|
||||
metaTitle: "QR Codes for Cinemas: Trailers & Fast-Track Concessions",
|
||||
metaDescription: "Modernize your cinema with QR codes for movie trailers, fast-track popcorn ordering, and future show booking in the lobby.",
|
||||
headline: "QR Codes for Cinemas: More Trailers, Less Queueing",
|
||||
subheadline: "Let guests watch trailers and order snacks from their phone while waiting for their film to start",
|
||||
heroImage: "/marketing/industries/cinemas.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Reduction in Popcorn Stand Queues" },
|
||||
{ value: "2x", label: "More Trailers Watched via Poster QRs" },
|
||||
{ value: "3x", label: "Higher Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant Movie Trailers", description: "Place a QR code on every physical movie poster in the lobby. Guests scan to watch the high-res trailer and book tickets for that film on their phone." },
|
||||
{ title: "Queue-Free Concessions", description: "A QR in the lobby allows guests to pre-order and pay for popcorn and drinks, giving them a collection point and avoiding long queues." },
|
||||
{ title: "Digital Loyalty and Rewards", description: "A QR at the ticket counter or in the cinema's own app links to the loyalty program, where fans can earn points for every film they see." }
|
||||
],
|
||||
useCases: [
|
||||
"Movie trailers and ticket booking from posters",
|
||||
"In-lobby popcorn and snack pre-ordering",
|
||||
"Loyalty and reward membership sign-up at the door",
|
||||
"Exclusive behind-the-scenes content links",
|
||||
"Digital ticket wallet and gate entry scanning"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "app-store-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do cinemas use QR codes for trailers?", answer: "They place codes on the corner of movie posters so guests can watch the full trailer and book tickets for future dates as they walk past." },
|
||||
{ question: "Can I skip the popcorn line with a QR code?", answer: "Yes, many cinemas provide QR codes in the lobby that let you pre-order your snacks so they are ready for pickup just as your movie starts." },
|
||||
{ question: "Where should cinema QR codes be placed?", answer: "On the physical movie posters, the concessions counter, and at the entrance gates for ticket scanning." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom-right of every physical movie poster",
|
||||
"Lobby counter area for fast-track snacks",
|
||||
"Exit doors for ticketing future releases"
|
||||
],
|
||||
germanKeyword: "Kinos"
|
||||
}
|
||||
];
|
||||
import { IndustryPage } from './industry-pages';
|
||||
|
||||
export const missingIndustries5: IndustryPage[] = [
|
||||
{
|
||||
slug: "pet-stores",
|
||||
name: "Pet Stores",
|
||||
title: "QR Codes for Pet Stores",
|
||||
metaTitle: "QR Codes for Pet Stores: Nutrition & Care Guides",
|
||||
metaDescription: "Give pet owners the best advice with QR codes for nutrition information, pet care tutorials, and digital loyalty rewards.",
|
||||
headline: "QR Codes for Pet Stores: Expert Care for Every Pet",
|
||||
subheadline: "Let customers scan for expert nutrition advice and care videos at every shelf and aisle",
|
||||
heroImage: "/marketing/industries/pet-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Nutrition Guides" },
|
||||
{ value: "40%", label: "Increase in Online Order Re-Subscribing" },
|
||||
{ value: "2x", label: "More Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Digital Nutrition and Ingredient Guides", description: "Place QR codes near specialized pet food racks. Owners scan to read full ingredient lists, allergy info, and feeding guides from their phone." },
|
||||
{ title: "One-Tap Loyalty and Rewards", description: "A QR at the checkout allows pet owners to join your rewards club and track their 'buy 10, get 1 free' progress without a paper card." },
|
||||
{ title: "Pet Care Tutorial Videos", description: "For complex products like aquarium setups or grooming tools, a QR on the shelf links to step-by-step video tutorials and setup guides." }
|
||||
],
|
||||
useCases: [
|
||||
"Nutrition and ingredient info on pet food racks",
|
||||
"Grooming and setup tutorial videos for products",
|
||||
"Loyalty and reward program enrollment at checkout",
|
||||
"Adoption event and community poster sign-ups",
|
||||
"Online re-order and subscription portal link"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "instagram-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do pet stores use QR codes for nutrition?", answer: "They place codes on food shelves that link to detailed nutritional breakdowns and portion calculators for different breeds." },
|
||||
{ question: "Can QR codes help with pet store loyalty cards?", answer: "Yes, by scanning a QR at the counter, customers can store their points and rewards digitally on their phone instead of carrying a paper card." },
|
||||
{ question: "Where should pet stores place QR codes?", answer: "The food aisles, high-tech product boxes, and the main checkout counter for loyalty sign-ups." }
|
||||
],
|
||||
placementTips: [
|
||||
"Specialized food section for nutrition guides",
|
||||
"Grooming or complex tool shelves for video tutorials",
|
||||
"Checkout counter for digital loyalty card storage"
|
||||
],
|
||||
germanKeyword: "Zoohandlungen"
|
||||
},
|
||||
{
|
||||
slug: "electronics-stores",
|
||||
name: "Electronics Stores",
|
||||
title: "QR Codes for Electronics Stores",
|
||||
metaTitle: "QR Codes for Electronics: Product Manuals & Demos",
|
||||
metaDescription: "Boost sales with QR codes for product manuals, unboxing videos, comparison charts, and warranty registration in-store.",
|
||||
headline: "QR Codes for Electronics Stores: No More Manuals, More Demos",
|
||||
subheadline: "Let customers watch unboxing videos and find exact specs from every product shelf",
|
||||
heroImage: "/marketing/industries/electronics-stores.png",
|
||||
statistics: [
|
||||
{ value: "2x", label: "Higher Higher Discovery-to-Lead Rates" },
|
||||
{ value: "45%", label: "Increase in Online Warranty Registrations" },
|
||||
{ value: "3x", label: "More Product Comparison Chart Views" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Unboxing and Demo Video Links", description: "Place a QR on the product display. Customers scan to watch real-world unboxing and performance videos, making the buying decision easier." },
|
||||
{ title: "Instant Product Comparison Charts", description: "A QR on the shelf edge links to a digital table comparing the current model with others in the same category, helping customers find the right fit." },
|
||||
{ title: "Simplified Warranty Registration", description: "Ensure every customer registers their product. A QR on the receipt or the box links to your online warranty portal for instant sign-up." }
|
||||
],
|
||||
useCases: [
|
||||
"Unboxing and demo videos on display models",
|
||||
"Digital comparison charts on shelf edges",
|
||||
"Warranty registration links on receipts and boxes",
|
||||
"Product manuals and setup guides via PDF QR",
|
||||
"In-store tech support and status update portal"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do electronics stores use QR codes for manuals?", answer: "They place QR codes on shelf labels or boxes that link to the official digital PDF manual—saving paper and making it easier to search." },
|
||||
{ question: "Can QR codes help with product comparisons?", answer: "Yes, the code on the shelf can link to a digital comparison tool where customers can see specs side-by-side on their own phone." },
|
||||
{ question: "Where are the best places for electronics store QR codes?", answer: "The shelf edge under the product name, on the back of display models for specs, and on the checkout receipt for warranties." }
|
||||
],
|
||||
placementTips: [
|
||||
"Shelf edge underทุก item for specs and demos",
|
||||
"Inside the product box for warranty and setup guides",
|
||||
"Display models for expert video review links"
|
||||
],
|
||||
germanKeyword: "Elektronikgeschäfte"
|
||||
},
|
||||
{
|
||||
slug: "jewelry-stores",
|
||||
name: "Jewelry Stores",
|
||||
title: "QR Codes for Jewelry Stores",
|
||||
metaTitle: "QR Codes for Jewelry: Authentication & Styling",
|
||||
metaDescription: "Give every piece a story with QR codes for certificates of authenticity, styling guides, and custom design inquiries.",
|
||||
headline: "QR Codes for Jewelry Stores: Every Piece Tells a Story",
|
||||
subheadline: "Let customers access certificates of authenticity and styling guides at every display case",
|
||||
heroImage: "/marketing/industries/jewelry-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Engagement with Certification Info" },
|
||||
{ value: "40%", label: "Increase in Custom Design Inquiries" },
|
||||
{ value: "2x", label: "More Social Media Referral Traffic" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Interactive Certificates of Authenticity", description: "Provide a QR code with every major purchase that links to the digital certification and history of the gemstone—boosting trust and transparency." },
|
||||
{ title: "Digital Style and Pairing Guides", description: "A QR on the display links to high-end lifestyle videos and guides showing how the piece can be styled and paired with other jewelry in your collection." },
|
||||
{ title: "Custom Design Collaboration", description: "Let clients start their unique journey. A QR on your showroom floor links to a design inquiry form where they can upload inspiration and book a consultation." }
|
||||
],
|
||||
useCases: [
|
||||
"Authenticity certificate and diamond report links",
|
||||
"Jewelry styling and care video guides",
|
||||
"Custom design inquiry and appointment booking",
|
||||
"Engagement and wedding band gallery links",
|
||||
"Instagram tagging for beautiful showroom pieces"
|
||||
],
|
||||
tools: ["url-qr-code", "pdf-qr-code", "whatsapp-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do jewelry stores use QR codes for certificates?", answer: "They provide a QR code that links to the specific gemstone's diamond report (GIA/IGI) or the store's own certificate of authenticity." },
|
||||
{ question: "Can I book a custom jewelry session via QR?", answer: "Yes, the code in the shop window or showroom can link directly to a booking form for a private consultation with a jeweler." },
|
||||
{ question: "Where should jewelry QR codes be placed?", answer: "Discreetly inside the display cases, on the physical gift card, and on the front of the jewelry box." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom corner of every gemstone display case",
|
||||
"Inside the physical jewelry box for care and guides",
|
||||
"Physical gift cards for the digital story of the piece"
|
||||
],
|
||||
germanKeyword: "Juweliere"
|
||||
},
|
||||
{
|
||||
slug: "hardware-stores",
|
||||
name: "Hardware Stores",
|
||||
title: "QR Codes for Hardware Stores",
|
||||
metaTitle: "QR Codes for Hardware: DIY Tutorials & Equipment Rental",
|
||||
metaDescription: "Help your customers build better with QR codes for DIY tutorial videos, project guides, and easy equipment rental booking.",
|
||||
headline: "QR Codes for Hardware Stores: Your In-Store DIY Expert",
|
||||
subheadline: "Let customers scan for project tutorials and product setup videos at every aisle and shelf",
|
||||
heroImage: "/marketing/industries/hardware-stores.png",
|
||||
statistics: [
|
||||
{ value: "3x", label: "Higher Higher Discovery-to-Lead Rates" },
|
||||
{ value: "50%", label: "Faster Equipment Rental Booking" },
|
||||
{ value: "2x", label: "More Project Guide Video Completes" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "In-Aisle DIY Tutorials", description: "Place QR codes on shelves for power tools or plumbing. Customers scan to watch 'how-to' videos and project guides while they shop for their materials." },
|
||||
{ title: "Frictionless Equipment Rental", description: "A QR on the rental fleet in the store links directly to the booking calendar, allowing customers to reserve a tool for the weekend without waiting in line." },
|
||||
{ title: "Product Compatibility Check", description: "Link QR codes to digital tables that show which drill bits, blades, or filters are compatible with every major power tool you sell." }
|
||||
],
|
||||
useCases: [
|
||||
"DIY 'how-to' project videos and guide links",
|
||||
"Equipment and tool rental booking portal",
|
||||
"Product part and accessory compatibility tables",
|
||||
"Contractor account and loyalty sign-up links",
|
||||
"Lawn care and seasonal garden guide PDFs"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "pdf-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do hardware stores use QR codes for DIY?", answer: "They place codes on the shelf next to complex items like tiles or power tools that link to video tutorials showing how to use them." },
|
||||
{ question: "Can QR codes help with renting tools?", answer: "Yes, by scanning a QR on the rental machine, customers can check availability and book the tool for their duration immediately." },
|
||||
{ question: "Where is the best place to put a QR code in a DIY shop?", answer: "The end of product aisles for guide catalogs, on power tool display racks, and on the sides of large rental machines." }
|
||||
],
|
||||
placementTips: [
|
||||
"Aisle end banners for category-specific DIY guides",
|
||||
"Product boxes for assembly and warranty links",
|
||||
"Rental counter and equipment for booking access"
|
||||
],
|
||||
germanKeyword: "Baumärkte"
|
||||
},
|
||||
{
|
||||
slug: "cinemas",
|
||||
name: "Cinemas",
|
||||
title: "QR Codes for Cinemas",
|
||||
metaTitle: "QR Codes for Cinemas: Trailers & Fast-Track Concessions",
|
||||
metaDescription: "Modernize your cinema with QR codes for movie trailers, fast-track popcorn ordering, and future show booking in the lobby.",
|
||||
headline: "QR Codes for Cinemas: More Trailers, Less Queueing",
|
||||
subheadline: "Let guests watch trailers and order snacks from their phone while waiting for their film to start",
|
||||
heroImage: "/marketing/industries/cinemas.png",
|
||||
statistics: [
|
||||
{ value: "50%", label: "Reduction in Popcorn Stand Queues" },
|
||||
{ value: "2x", label: "More Trailers Watched via Poster QRs" },
|
||||
{ value: "3x", label: "Higher Loyalty Program Registrations" }
|
||||
],
|
||||
benefits: [
|
||||
{ title: "Instant Movie Trailers", description: "Place a QR code on every physical movie poster in the lobby. Guests scan to watch the high-res trailer and book tickets for that film on their phone." },
|
||||
{ title: "Queue-Free Concessions", description: "A QR in the lobby allows guests to pre-order and pay for popcorn and drinks, giving them a collection point and avoiding long queues." },
|
||||
{ title: "Digital Loyalty and Rewards", description: "A QR at the ticket counter or in the cinema's own app links to the loyalty program, where fans can earn points for every film they see." }
|
||||
],
|
||||
useCases: [
|
||||
"Movie trailers and ticket booking from posters",
|
||||
"In-lobby popcorn and snack pre-ordering",
|
||||
"Loyalty and reward membership sign-up at the door",
|
||||
"Exclusive behind-the-scenes content links",
|
||||
"Digital ticket wallet and gate entry scanning"
|
||||
],
|
||||
tools: ["url-qr-code", "youtube-qr-code", "app-store-qr-code"],
|
||||
faq: [
|
||||
{ question: "How do cinemas use QR codes for trailers?", answer: "They place codes on the corner of movie posters so guests can watch the full trailer and book tickets for future dates as they walk past." },
|
||||
{ question: "Can I skip the popcorn line with a QR code?", answer: "Yes, many cinemas provide QR codes in the lobby that let you pre-order your snacks so they are ready for pickup just as your movie starts." },
|
||||
{ question: "Where should cinema QR codes be placed?", answer: "On the physical movie posters, the concessions counter, and at the entrance gates for ticket scanning." }
|
||||
],
|
||||
placementTips: [
|
||||
"Bottom-right of every physical movie poster",
|
||||
"Lobby counter area for fast-track snacks",
|
||||
"Exit doors for ticketing future releases"
|
||||
],
|
||||
germanKeyword: "Kinos"
|
||||
}
|
||||
];
|
||||
|
||||
@@ -1,212 +1,212 @@
|
||||
import type { Testimonial, AggregateRating } from '@/lib/types';
|
||||
export type { Testimonial, AggregateRating };
|
||||
|
||||
export const testimonials: Testimonial[] = [
|
||||
{
|
||||
id: "pottery-claudia-knuth-001",
|
||||
rating: 5,
|
||||
title: "Perfect for my pottery",
|
||||
content: "I use QR-Master for my pottery as a link to my homepage and as a digital business card. I place the codes directly on my pottery pieces so interested customers can instantly access my website. Reliable and practical – a great solution!",
|
||||
author: {
|
||||
name: "Claudia",
|
||||
role: "Owner",
|
||||
location: "Texas"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-15T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "pottery"
|
||||
},
|
||||
{
|
||||
id: "restaurant-thomas-002",
|
||||
rating: 5,
|
||||
title: "Finally no more reprinting menus",
|
||||
content: "We used to reprint our menu every time prices changed — that was costing us hundreds of euros a year. With QR Master, I update the PDF online and all table QR codes instantly point to the new version. Setup took 10 minutes. This pays for itself after the first price adjustment.",
|
||||
author: {
|
||||
name: "Thomas B.",
|
||||
role: "Restaurant Owner",
|
||||
location: "Hamburg, Germany"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-08T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "restaurant-menu"
|
||||
},
|
||||
{
|
||||
id: "marketing-sarah-003",
|
||||
rating: 5,
|
||||
title: "Finally measurable ROI on print campaigns",
|
||||
content: "We run multi-channel campaigns and print materials were always the black box. With QR Master's scan analytics I can now see exactly which flyer, city, and event drove traffic. The location and device breakdown alone justified the Business plan subscription.",
|
||||
author: {
|
||||
name: "Sarah M.",
|
||||
role: "Head of Marketing",
|
||||
location: "Berlin, Germany"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-10T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "marketing-campaigns"
|
||||
},
|
||||
{
|
||||
id: "retail-jennifer-004",
|
||||
rating: 5,
|
||||
title: "Generated 800 unique codes in under 5 minutes",
|
||||
content: "We needed individual QR codes for product packaging — one per SKU pointing to the corresponding product page. I uploaded our CSV with 800 rows and had every code ready to download in minutes. The bulk feature is exactly what large-scale packaging operations need.",
|
||||
author: {
|
||||
name: "Jennifer K.",
|
||||
role: "Operations Manager",
|
||||
location: "London, UK"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-18T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "retail-packaging"
|
||||
},
|
||||
{
|
||||
id: "events-marco-005",
|
||||
rating: 5,
|
||||
title: "Essential tool for event management",
|
||||
content: "We manage 20+ events per year and QR Master has become part of our standard workflow. I create a dynamic code for each event, and if the venue or schedule changes last-minute, I update the link without reprinting anything. The scan data also helps us measure engagement per event.",
|
||||
author: {
|
||||
name: "Marco F.",
|
||||
role: "Event Director",
|
||||
location: "Munich, Germany"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-28T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "events"
|
||||
},
|
||||
{
|
||||
id: "gdpr-stefan-006",
|
||||
rating: 5,
|
||||
title: "The only QR tool that takes GDPR seriously",
|
||||
content: "Our legal team reviewed several platforms before approving one for use. QR Master hashes IPs by default and doesn't store personally identifiable information — we also confirmed DNT header compliance. For a company operating under GDPR, this isn't optional, it's the baseline. QR Master delivered.",
|
||||
author: {
|
||||
name: "Stefan W.",
|
||||
role: "Data Protection Officer",
|
||||
location: "Frankfurt, Germany"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-20T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "gdpr-compliance"
|
||||
},
|
||||
{
|
||||
id: "agency-david-007",
|
||||
rating: 4,
|
||||
title: "Great platform for managing multiple client campaigns",
|
||||
content: "I manage QR code campaigns for six clients and QR Master keeps everything organized in one dashboard. The dynamic links mean I can redirect codes per campaign phase without going back to print. Does exactly what it says — clean, reliable, no bloat.",
|
||||
author: {
|
||||
name: "David L.",
|
||||
role: "Digital Marketing Consultant",
|
||||
location: "Vienna, Austria"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-05T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "agency"
|
||||
},
|
||||
{
|
||||
id: "fitness-anna-008",
|
||||
rating: 5,
|
||||
title: "Members scan for class schedules, WiFi, and waivers",
|
||||
content: "I put QR codes on every surface in my studio — reception desk, mirrors, equipment. One links to our class booking page, one shares WiFi, one opens the digital waiver form. When we switched booking software, I updated the URL in QR Master and nothing else had to change. Brilliant.",
|
||||
author: {
|
||||
name: "Anna R.",
|
||||
role: "Studio Owner",
|
||||
location: "Zurich, Switzerland"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-14T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "fitness-studio"
|
||||
},
|
||||
{
|
||||
id: "hotel-pierre-009",
|
||||
rating: 5,
|
||||
title: "Contactless check-in and room service made easy",
|
||||
content: "We placed dynamic QR codes on every room door and in the lobby. Guests scan to access our digital welcome guide, room service menu, and local recommendations — all updated centrally. When our restaurant hours changed, one edit in QR Master updated all 48 room codes instantly.",
|
||||
author: {
|
||||
name: "Pierre D.",
|
||||
role: "General Manager",
|
||||
location: "Paris, France"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-22T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "hospitality"
|
||||
},
|
||||
{
|
||||
id: "freelancer-maya-010",
|
||||
rating: 5,
|
||||
title: "My vCard QR is now on every business card I print",
|
||||
content: "I switched to a vCard QR code from QR Master after my phone number changed and I had to throw away 200 printed cards. Now the QR on my card always points to the latest version of my contact info — I just update it online. It's the smartest small change I've made to my personal branding.",
|
||||
author: {
|
||||
name: "Maya S.",
|
||||
role: "Freelance Brand Designer",
|
||||
location: "London, UK"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-25T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "vcard"
|
||||
},
|
||||
{
|
||||
id: "cafe-lars-011",
|
||||
rating: 5,
|
||||
title: "WiFi sharing has never been this clean",
|
||||
content: "Customers used to ask for our WiFi password 30 times a day. Now there's a QR code on every table — they scan, connect, done. We also linked a second code to our digital menu. QR Master was the easiest free tool I found that actually lets you keep the codes active without surprise paywalls.",
|
||||
author: {
|
||||
name: "Lars N.",
|
||||
role: "Co-Owner",
|
||||
location: "Copenhagen, Denmark"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-03T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "cafe-wifi"
|
||||
},
|
||||
{
|
||||
id: "realestate-carlos-012",
|
||||
rating: 5,
|
||||
title: "Property listing QR codes that stay current",
|
||||
content: "Real estate moves fast — a property I list today might be under offer tomorrow. With dynamic QR codes from QR Master, I print a yard sign once and update the link to the listing, price, or status page whenever things change. My signs stay accurate without paying for new prints.",
|
||||
author: {
|
||||
name: "Carlos M.",
|
||||
role: "Real Estate Agent",
|
||||
location: "Miami, FL"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-12T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "real-estate"
|
||||
}
|
||||
];
|
||||
|
||||
export function getAggregateRating(): AggregateRating {
|
||||
const ratings = testimonials.map(t => t.rating);
|
||||
const avgRating = ratings.reduce((a, b) => a + b, 0) / ratings.length;
|
||||
return {
|
||||
ratingValue: Number(avgRating.toFixed(1)),
|
||||
reviewCount: testimonials.length,
|
||||
bestRating: 5,
|
||||
worstRating: 1
|
||||
};
|
||||
}
|
||||
|
||||
export function getFeaturedTestimonials(): Testimonial[] {
|
||||
return testimonials.filter(t => t.featured);
|
||||
}
|
||||
import type { Testimonial, AggregateRating } from '@/lib/types';
|
||||
export type { Testimonial, AggregateRating };
|
||||
|
||||
export const testimonials: Testimonial[] = [
|
||||
{
|
||||
id: "pottery-claudia-knuth-001",
|
||||
rating: 5,
|
||||
title: "Perfect for my pottery",
|
||||
content: "I use QR-Master for my pottery as a link to my homepage and as a digital business card. I place the codes directly on my pottery pieces so interested customers can instantly access my website. Reliable and practical – a great solution!",
|
||||
author: {
|
||||
name: "Claudia",
|
||||
role: "Owner",
|
||||
location: "Texas"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-15T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "pottery"
|
||||
},
|
||||
{
|
||||
id: "restaurant-thomas-002",
|
||||
rating: 5,
|
||||
title: "Finally no more reprinting menus",
|
||||
content: "We used to reprint our menu every time prices changed — that was costing us hundreds of euros a year. With QR Master, I update the PDF online and all table QR codes instantly point to the new version. Setup took 10 minutes. This pays for itself after the first price adjustment.",
|
||||
author: {
|
||||
name: "Thomas B.",
|
||||
role: "Restaurant Owner",
|
||||
location: "Hamburg, Germany"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-08T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "restaurant-menu"
|
||||
},
|
||||
{
|
||||
id: "marketing-sarah-003",
|
||||
rating: 5,
|
||||
title: "Finally measurable ROI on print campaigns",
|
||||
content: "We run multi-channel campaigns and print materials were always the black box. With QR Master's scan analytics I can now see exactly which flyer, city, and event drove traffic. The location and device breakdown alone justified the Business plan subscription.",
|
||||
author: {
|
||||
name: "Sarah M.",
|
||||
role: "Head of Marketing",
|
||||
location: "Berlin, Germany"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-10T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "marketing-campaigns"
|
||||
},
|
||||
{
|
||||
id: "retail-jennifer-004",
|
||||
rating: 5,
|
||||
title: "Generated 800 unique codes in under 5 minutes",
|
||||
content: "We needed individual QR codes for product packaging — one per SKU pointing to the corresponding product page. I uploaded our CSV with 800 rows and had every code ready to download in minutes. The bulk feature is exactly what large-scale packaging operations need.",
|
||||
author: {
|
||||
name: "Jennifer K.",
|
||||
role: "Operations Manager",
|
||||
location: "London, UK"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-18T00:00:00Z",
|
||||
verified: true,
|
||||
featured: true,
|
||||
useCase: "retail-packaging"
|
||||
},
|
||||
{
|
||||
id: "events-marco-005",
|
||||
rating: 5,
|
||||
title: "Essential tool for event management",
|
||||
content: "We manage 20+ events per year and QR Master has become part of our standard workflow. I create a dynamic code for each event, and if the venue or schedule changes last-minute, I update the link without reprinting anything. The scan data also helps us measure engagement per event.",
|
||||
author: {
|
||||
name: "Marco F.",
|
||||
role: "Event Director",
|
||||
location: "Munich, Germany"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-28T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "events"
|
||||
},
|
||||
{
|
||||
id: "gdpr-stefan-006",
|
||||
rating: 5,
|
||||
title: "The only QR tool that takes GDPR seriously",
|
||||
content: "Our legal team reviewed several platforms before approving one for use. QR Master hashes IPs by default and doesn't store personally identifiable information — we also confirmed DNT header compliance. For a company operating under GDPR, this isn't optional, it's the baseline. QR Master delivered.",
|
||||
author: {
|
||||
name: "Stefan W.",
|
||||
role: "Data Protection Officer",
|
||||
location: "Frankfurt, Germany"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-20T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "gdpr-compliance"
|
||||
},
|
||||
{
|
||||
id: "agency-david-007",
|
||||
rating: 4,
|
||||
title: "Great platform for managing multiple client campaigns",
|
||||
content: "I manage QR code campaigns for six clients and QR Master keeps everything organized in one dashboard. The dynamic links mean I can redirect codes per campaign phase without going back to print. Does exactly what it says — clean, reliable, no bloat.",
|
||||
author: {
|
||||
name: "David L.",
|
||||
role: "Digital Marketing Consultant",
|
||||
location: "Vienna, Austria"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-05T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "agency"
|
||||
},
|
||||
{
|
||||
id: "fitness-anna-008",
|
||||
rating: 5,
|
||||
title: "Members scan for class schedules, WiFi, and waivers",
|
||||
content: "I put QR codes on every surface in my studio — reception desk, mirrors, equipment. One links to our class booking page, one shares WiFi, one opens the digital waiver form. When we switched booking software, I updated the URL in QR Master and nothing else had to change. Brilliant.",
|
||||
author: {
|
||||
name: "Anna R.",
|
||||
role: "Studio Owner",
|
||||
location: "Zurich, Switzerland"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-14T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "fitness-studio"
|
||||
},
|
||||
{
|
||||
id: "hotel-pierre-009",
|
||||
rating: 5,
|
||||
title: "Contactless check-in and room service made easy",
|
||||
content: "We placed dynamic QR codes on every room door and in the lobby. Guests scan to access our digital welcome guide, room service menu, and local recommendations — all updated centrally. When our restaurant hours changed, one edit in QR Master updated all 48 room codes instantly.",
|
||||
author: {
|
||||
name: "Pierre D.",
|
||||
role: "General Manager",
|
||||
location: "Paris, France"
|
||||
},
|
||||
date: "January 2026",
|
||||
datePublished: "2026-01-22T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "hospitality"
|
||||
},
|
||||
{
|
||||
id: "freelancer-maya-010",
|
||||
rating: 5,
|
||||
title: "My vCard QR is now on every business card I print",
|
||||
content: "I switched to a vCard QR code from QR Master after my phone number changed and I had to throw away 200 printed cards. Now the QR on my card always points to the latest version of my contact info — I just update it online. It's the smartest small change I've made to my personal branding.",
|
||||
author: {
|
||||
name: "Maya S.",
|
||||
role: "Freelance Brand Designer",
|
||||
location: "London, UK"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-25T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "vcard"
|
||||
},
|
||||
{
|
||||
id: "cafe-lars-011",
|
||||
rating: 5,
|
||||
title: "WiFi sharing has never been this clean",
|
||||
content: "Customers used to ask for our WiFi password 30 times a day. Now there's a QR code on every table — they scan, connect, done. We also linked a second code to our digital menu. QR Master was the easiest free tool I found that actually lets you keep the codes active without surprise paywalls.",
|
||||
author: {
|
||||
name: "Lars N.",
|
||||
role: "Co-Owner",
|
||||
location: "Copenhagen, Denmark"
|
||||
},
|
||||
date: "February 2026",
|
||||
datePublished: "2026-02-03T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "cafe-wifi"
|
||||
},
|
||||
{
|
||||
id: "realestate-carlos-012",
|
||||
rating: 5,
|
||||
title: "Property listing QR codes that stay current",
|
||||
content: "Real estate moves fast — a property I list today might be under offer tomorrow. With dynamic QR codes from QR Master, I print a yard sign once and update the link to the listing, price, or status page whenever things change. My signs stay accurate without paying for new prints.",
|
||||
author: {
|
||||
name: "Carlos M.",
|
||||
role: "Real Estate Agent",
|
||||
location: "Miami, FL"
|
||||
},
|
||||
date: "March 2026",
|
||||
datePublished: "2026-03-12T00:00:00Z",
|
||||
verified: true,
|
||||
featured: false,
|
||||
useCase: "real-estate"
|
||||
}
|
||||
];
|
||||
|
||||
export function getAggregateRating(): AggregateRating {
|
||||
const ratings = testimonials.map(t => t.rating);
|
||||
const avgRating = ratings.reduce((a, b) => a + b, 0) / ratings.length;
|
||||
return {
|
||||
ratingValue: Number(avgRating.toFixed(1)),
|
||||
reviewCount: testimonials.length,
|
||||
bestRating: 5,
|
||||
worstRating: 1
|
||||
};
|
||||
}
|
||||
|
||||
export function getFeaturedTestimonials(): Testimonial[] {
|
||||
return testimonials.filter(t => t.featured);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user