{
  "version": "2026-10-11",
  "adr": "ADR-217",
  "currency": "USD",
  "unit": "USD per billable page per month",
  "source": "https://techtailors.agency/pricing",
  "calculator": "https://techtailors.agency/pricing/calculator",
  "minimumBillablePages": 5,
  "pageTypeBucketSize": 25,
  "pageTypes": {
    "test": "A page-type is a set of like entries: every page is the same kind of thing, filled from the same fields on one layout. Pages that do different jobs are unique pages, even when they share a layout.",
    "billing": "one billable page through the bucket size, then one per page beyond; each overview page bills as one more page",
    "kinds": [
      {
        "key": "service",
        "name": "Services",
        "alsoCounts": [
          "practice areas",
          "treatments"
        ],
        "overviewPage": "Services overview",
        "optionalPageTypes": []
      },
      {
        "key": "condition",
        "name": "Conditions",
        "alsoCounts": [],
        "overviewPage": "Conditions overview",
        "optionalPageTypes": []
      },
      {
        "key": "areas",
        "name": "Service areas",
        "alsoCounts": [
          "areas we serve"
        ],
        "overviewPage": "Service areas overview",
        "optionalPageTypes": []
      },
      {
        "key": "location",
        "name": "Offices and locations",
        "alsoCounts": [
          "locations"
        ],
        "overviewPage": "Locations overview",
        "optionalPageTypes": []
      },
      {
        "key": "team",
        "name": "Team profiles",
        "alsoCounts": [
          "providers"
        ],
        "overviewPage": "Team overview",
        "optionalPageTypes": []
      },
      {
        "key": "project",
        "name": "Projects",
        "alsoCounts": [
          "portfolio",
          "case results"
        ],
        "overviewPage": "Projects overview",
        "optionalPageTypes": []
      },
      {
        "key": "blog",
        "name": "Blog posts",
        "alsoCounts": [],
        "overviewPage": "Blog overview",
        "optionalPageTypes": [
          {
            "key": "author",
            "name": "Blog author pages",
            "overviewPage": null
          },
          {
            "key": "category",
            "name": "Blog category pages",
            "overviewPage": null
          }
        ]
      },
      {
        "key": "product",
        "name": "Products",
        "alsoCounts": [
          "listings",
          "menu items"
        ],
        "overviewPage": "Products overview",
        "optionalPageTypes": []
      },
      {
        "key": "legal",
        "name": "Legal policies",
        "alsoCounts": [
          "privacy policy",
          "terms",
          "cookie policy",
          "accessibility statement",
          "HIPAA notice",
          "regulatory disclosures (Form CRS, Form ADV)",
          "disclaimers"
        ],
        "overviewPage": null,
        "optionalPageTypes": []
      }
    ],
    "htmlSitemapPage": "free, never billed",
    "legalPages": "all of a site's legal pages form one page-type: one build price and one billable page a month, however many policies",
    "baselinePrivacyPolicy": "on Professional and above, the privacy policy the security baseline includes is free: no build fee, no monthly page, and outside the legal page-type",
    "blogOnBloggingPlans": "on Blogging Starter and above, the Blogging price covers the overview, posts, author and category pages; none of them bills per page"
  },
  "plans": [
    {
      "key": "smart-casual",
      "name": "Smart Casual",
      "descriptor": "Best fit when you run a small business or a brick-and-mortar store with simple needs.",
      "pageRateMonthly": 50,
      "monthlyFloor": 250,
      "blogT0Monthly": 100,
      "storeT0Monthly": 250,
      "supportResponseHours": 48,
      "supportResponseClock": "24/7",
      "uptimeGuaranteePercent": 99.9,
      "uptimeMissCreditPercentOfMonthlyFee": 10,
      "securityBaseline": false,
      "baselineSetupFeeOneTimeByBand": null
    },
    {
      "key": "professional",
      "name": "Professional",
      "descriptor": "Best fit when your site handles sensitive data or your profession holds you to strict regulations.",
      "pageRateMonthly": 75,
      "monthlyFloor": 375,
      "blogT0Monthly": 150,
      "storeT0Monthly": 375,
      "supportResponseHours": 24,
      "supportResponseClock": "24/7",
      "uptimeGuaranteePercent": 99.9,
      "uptimeMissCreditPercentOfMonthlyFee": 10,
      "securityBaseline": true,
      "baselineSetupFeeOneTimeByBand": {
        "small": 750,
        "medium": 1000,
        "large": 1500
      }
    },
    {
      "key": "black-tie",
      "name": "Black Tie",
      "descriptor": "Suits online businesses or ones that serve a whole region or country.",
      "pageRateMonthly": 100,
      "monthlyFloor": 500,
      "blogT0Monthly": 200,
      "storeT0Monthly": 500,
      "supportResponseHours": 16,
      "supportResponseClock": "24/7",
      "uptimeGuaranteePercent": 99.9,
      "uptimeMissCreditPercentOfMonthlyFee": 10,
      "securityBaseline": true,
      "baselineSetupFeeOneTimeByBand": {
        "small": 750,
        "medium": 1000,
        "large": 1500
      }
    },
    {
      "key": "white-tie",
      "name": "White Tie",
      "descriptor": "Best fit when your project needs go beyond our standard plans and add-ons.",
      "pricing": "custom",
      "indicativePageRateFrom": 125,
      "supportResponseHours": 16,
      "supportResponseClock": "24/7",
      "uptimeGuaranteePercent": 99.9,
      "uptimeMissCreditPercentOfMonthlyFee": 10,
      "securityBaseline": true,
      "baselineSetupFeeOneTimeByBand": "custom-quoted"
    }
  ],
  "buyout": {
    "basis": "annual plan cost (monthly x 12) x the plan multiplier, rounded down to the nearest $100; multiplier drops per completed anniversary in good standing",
    "stepPerAnniversary": 0.25,
    "plans": {
      "smart-casual": {
        "atSigning": 2,
        "floor": 1.25
      },
      "professional": {
        "atSigning": 2.5,
        "floor": 1.5
      },
      "black-tie": {
        "atSigning": 2.5,
        "floor": 1.5
      },
      "white-tie": "custom-agreement"
    },
    "policy": "https://techtailors.agency/policies/ownership"
  },
  "discounts": {
    "bulk": {
      "bracket": 2500,
      "savings": 250,
      "maxSavings": 1000
    },
    "annualPrepay": {
      "monthsPaid": 10,
      "monthsReceived": 12
    }
  },
  "buildCard": {
    "uniquePageOneTime": 250,
    "pageTypeOneTime": 750,
    "pageTypeCovers": "its layout plus up to 25 pages from the client's content sheet",
    "overviewPageOneTime": 250,
    "pagePastBucketOneTime": 250,
    "pagePastBucketNote": "each page past a page-type's first 25, at launch and after launch, except an add-on's pages",
    "standardIntegrationOneTime": 250,
    "hourly": 175,
    "hourlyCovers": [
      "complex integrations",
      "remediation",
      "migration",
      "copywriting",
      "revision rounds past 2"
    ],
    "htmlSitemapPageOneTime": 0,
    "afterLaunch": "new unique pages and page-types carry the same one-time price as at launch; pages added to an existing page-type are free up to its first 25, and each page past 25 is a $250 one-time page build and bills at the plan's page rate monthly; posts and products on Blogging or E-Commerce Starter and up never bill per page",
    "addOnServices": "never add a Blueprint or a build fee of their own; the pages they need carry no build fee: a blog's on Blogging Starter and up, a store's on any E-Commerce plan"
  },
  "blueprint": {
    "bandedBy": "billable pages that carry a build fee (an add-on's pages don't count)",
    "bands": [
      {
        "billablePages": "1-10",
        "newBuild": 500,
        "rebuild": 1000
      },
      {
        "billablePages": "11-25",
        "newBuild": 1500,
        "rebuild": 2500
      },
      {
        "billablePages": "26+",
        "newBuild": 3000,
        "rebuild": 5000
      }
    ],
    "rebuildPriceAppliesTo": "rebuilds of an existing website, and scopes with 3 or more integrations",
    "credit": "100% toward the build fee when the build is signed within 60 days; any credit the build fee can't use comes off the plan invoices, starting with the first; credit has no cash value and any still unused when the plan ends is forfeited",
    "policy": "https://techtailors.agency/policies/onboarding"
  },
  "addOnRule": {
    "text": "You pick your plan. Every add-on works on every plan, with your plan's support response time and the add-on's own guarantees, like uptime. Two top levels need Black Tie: Blogging Pro and E-Commerce Pro. Choose either and your plan moves up with it. If your site collects sensitive information, Analytics & Tracking needs Professional's security baseline. Add-ons never require a page count.",
    "everyAddOnOnEveryPlan": true,
    "supportResponse": "the plan's supportResponseHours",
    "planPrerequisites": [
      {
        "addOn": "blogging",
        "level": "Pro",
        "minimumPlan": "black-tie",
        "choosingItMovesThePlanUp": true
      },
      {
        "addOn": "ecommerce",
        "level": "Pro",
        "minimumPlan": "black-tie",
        "choosingItMovesThePlanUp": true
      }
    ],
    "conditions": [
      {
        "addOn": "analytics",
        "when": "the site collects sensitive or regulated information",
        "needsPlan": "professional",
        "for": "the security baseline"
      }
    ]
  },
  "allPlanServices": {
    "pagefind": {
      "includedAtBillablePages": 15,
      "otherwiseOneTime": 250
    },
    "croAudit": {
      "oneTime": 1000
    }
  },
  "design": {
    "source": "https://techtailors.agency/services/brand-design",
    "monthlyPlanNeeded": false,
    "payment": "half to start, half on final files",
    "annualPrepayOrBlueprintCreditApplies": false,
    "conceptsForANewLogo": 3,
    "revisionRoundsIncluded": 2,
    "revisionRoundsPastIncludedHourly": 175,
    "packages": [
      {
        "key": "logo",
        "name": "Logo",
        "oneTime": 2500,
        "includes": null,
        "socialSetIncluded": false,
        "printPiecesIncluded": []
      },
      {
        "key": "identity",
        "name": "Brand identity",
        "oneTime": 4000,
        "includes": "logo",
        "socialSetIncluded": true,
        "printPiecesIncluded": []
      },
      {
        "key": "guidelines",
        "name": "Brand guidelines",
        "oneTime": 5500,
        "includes": "identity",
        "socialSetIncluded": true,
        "printPiecesIncluded": [
          "business-card",
          "letterhead-envelope"
        ]
      }
    ],
    "printPieces": [
      {
        "key": "business-card",
        "name": "Business card",
        "oneTime": 250
      },
      {
        "key": "letterhead-envelope",
        "name": "Letterhead and envelope",
        "oneTime": 250
      },
      {
        "key": "flyer",
        "name": "Flyer or one-page sheet",
        "oneTime": 250
      },
      {
        "key": "brochure",
        "name": "Tri-fold brochure",
        "oneTime": 500
      }
    ],
    "socialPiece": {
      "covers": "a profile image and its cover banner, sized for one platform",
      "oneTimePerPlatform": 250,
      "platforms": [
        {
          "key": "facebook",
          "name": "Facebook"
        },
        {
          "key": "linkedin",
          "name": "LinkedIn"
        },
        {
          "key": "x",
          "name": "X"
        },
        {
          "key": "youtube",
          "name": "YouTube"
        }
      ]
    },
    "notOffered": [
      "signs",
      "physical banners",
      "vehicle graphics"
    ]
  },
  "grandfathering": "Engagements keep the per-page rate they were quoted, on the pages quoted; additions and add-ons bill at current rates. See /blog/how-our-pricing-changed-in-2026/",
  "notes": [
    "White Tie figures are indicative, never a published floor; contractual pricing is custom-quoted.",
    "The monthly floor is the five-billable-page minimum at the plan's page rate; add-ons never count toward it.",
    "Page-types bill as one line through the bucket size, then per page; each page-type's overview page bills as one more page (legal pages and the blog's author and category pages have none)."
  ],
  "generatedAt": "2026-10-25T23:35:06.238Z"
}