How we count · Methodology

Every number here has a receipt.

This is where every receipt on the site points: where our figures come from, how we check and date them, what we anonymize, and the check that keeps an unverified number off the site. The whole claims bank is below, including the figures still waiting on a client’s signature.

claims in the bank
44
source classes
2
awaiting client sign-off
25
latest verification
2026-09

1.37 → 4.81Performance Max ROAS as Google Ads reports it, April to August

SOURCE · Google Ads account data for a DTC pet-food brand

METHOD · Monthly return on ad spend for the brand’s Performance Max campaign as the Google Ads account reports it (platform-attributed, not reconciled with store orders), April vs August. September was running lower when the audit was written.

VERIFIED · 2026-09 · CLASS · platform account

NOTE · Credit shared with the incumbent agency — their changes were part of the climb.

CLAIM · roas-shared

Fig. 03 · Anatomy of a receipt
  1. 1 The figure, exactly as it appears on the page.
  2. 2 Where the evidence lives.
  3. 3 How it was measured, and over what window.
  4. 4 The month we verified it, and its source class.
  5. 5 A note that must print with the figure, every time.

01 · Source classes

Two places a number can come from.

Every receipt names its class, so you know what kind of evidence stands behind the figure before you open it.

  • Repository24 in the bank

    Repository

    The code or configuration itself: a module count from the source tree, a version string from the shipped app, a parameter list in a link builder. Anyone with access to the repository can recount it.

    An example from the bank

    614 retail locations in a store locator generated from distributor data

    receipt

    SOURCE · Rivergreen Cocktails site repository (store-locator build pipeline)

    METHOD · Geocoded retail accounts rendered by the build scripts.

    VERIFIED · 2026-09

    CLASS · repository

    ✓ every number on this site opens its receipt

    CLAIM · store-locations

    How we count
  • Platform account20 in the bank

    Platform account

    The system that did the work: carrier delivery records, an ad account, analytics and order data, a production database. Measured over a stated window, never estimated.

    An example from the bank

    18,576 SMS delivered in 30 days, at a 91.1% delivery rate

    receipt

    SOURCE · Twilio messaging records for a consumer-fintech client's production account

    METHOD · Delivered-message count and delivery rate for a trailing 30-day window, verified independently against the Twilio API.

    VERIFIED · 2026-09

    CLASS · platform account

    ✓ every number on this site opens its receipt

    CLAIM · sms-volume

    How we count

02 · How a figure gets here

The path from a source to this page.

The same path for every figure, whether it flatters us or not.

The verified month is month-precise on purpose: a figure is a snapshot, and the receipt tells you when it was taken.

  1. Step 1: Found at the source

    Every figure starts in a repository or a platform account. If we can’t point to one, it isn’t a claim, and it doesn’t go on the site.

    Out a source you can point to

  2. Step 2: Written into the claims bank

    It gets an id, the figure exactly as displayed, a label, the source, the method and the month it was verified. Receipt text is written so it never identifies a client who hasn’t signed off.

    Out one entry, one id

  3. Step 3: Checked and dated

    We verify the figure against its source and stamp the month. A figure is true as of that month, not forever, and the month prints on every receipt so you can judge its age yourself.

    Out a verified month on the receipt

  4. Step 4: Cleared for naming

    A figure that belongs to a client needs the client’s written sign-off before their name sits next to it. Until then, it publishes under a plain descriptor.

    Out a name, or a descriptor, never a guess

  5. Step 5: Rendered with its receipt

    Numbers reach a page through one component. It always prints the receipt, and it always prints a mandatory note when the claim carries one.

    Out figure and receipt, together

  6. Step 6: Gated at build

    A check runs before every build. If it finds a banned phrase or a broken rule, the build stops and the site does not deploy.

    Out a build that passed the gate

03 · Anonymization and sign-off

Named with permission. Described without it.

Some clients can’t be named yet, or have asked not to be. They appear under a plain descriptor that says what kind of business they are, never who. Their logos never appear, and receipt text is written so it can’t identify them.

Naming is a flag, not a rewrite. When a client signs, one field changes and their name replaces the descriptor everywhere. Until then, a figure that belongs to a client without sign-off is credited to the descriptor, even when the client is named elsewhere on the site for the work itself.

Our own ventures wear their label on every figure, and carry no testimonials:

Our own productVenture we operateVenture we co-operate

Descriptors on receipts today

  • a consumer fintech8 figuresSign-off pending
  • a DTC pet-food brand7 figuresName withheld
  • a California new-car dealership4 figuresSign-off pending
  • a 12-rooftop auto group5 figuresName withheld
  • a canned-cocktail brand1 figureSign-off pending

“Sign-off pending”: the client is named for the work, and its figures wait on a signature. “Name withheld”: anonymized by default. Both count as awaiting sign-off in the ledger below.

04 · Shared credit

When credit is shared, the note is welded to the number.

On one account, an incumbent agency ran the campaigns. Our landing system was live for part of the climb; we audited the account and rebuilt its measurement after it. We can’t separate any share of ours from theirs, so the figure never appears without the credit line, and the component that prints numbers won’t render it any other way.

1.37 → 4.81

Performance Max ROAS as Google Ads reports it, April to August

Google’s own figure for a campaign the incumbent agency ran. Our landing system was live for part of the climb; the forensic audit and the measurement rebuild came after it.

Credit shared with the incumbent agency — their changes were part of the climb.

receipt

SOURCE · Google Ads account data for a DTC pet-food brand

METHOD · Monthly return on ad spend for the brand’s Performance Max campaign as the Google Ads account reports it (platform-attributed, not reconciled with store orders), April vs August. September was running lower when the audit was written.

VERIFIED · 2026-09

CLASS · platform account

NOTE · Credit shared with the incumbent agency — their changes were part of the climb.

✓ every number on this site opens its receipt

CLAIM · roas-shared

How we count

We don’t name the other agency. They didn’t ask to be on our website.

05 · Measurement honesty

Absent data never renders as zero.

A missing number and a zero are different facts. Our reports, and this site, keep them apart, along with a few other rules we hold every figure to.

Purchases · a week with a tracking gap0false zeroreads as “nothing sold”
Purchases · a week with a tracking gap—labeled gapreads as “not measured”

~33–40% of funded bills are Google-attributed. We publish it on purpose.

receipt

SOURCE · Channel-attribution dashboard for a consumer-fintech client, reconciled against its funded-bill database

METHOD · Ad-platform conversions compared with funded bills in the system of record over rolling windows. Absent data never renders as zero; immature cohorts are labeled, not counted.

VERIFIED · 2026-09

CLASS · platform account

✓ every number on this site opens its receipt

CLAIM · attribution-honesty

How we count
  • Targets are labeled as targets.

    A number we aim for is not a number we measured. If it’s a target, the receipt says target.

    The response-time prompt is part of the alert template itself. It is a target on every lead, not a measured average.

    From the receipt

    60 sec follow-up target printed on every lead alert the engine sends

    receipt

    SOURCE · Lead-alert service in the campaign repositories for a new-car dealership

    METHOD · The response-time prompt is part of the alert template itself. It is a target on every lead, not a measured average.

    VERIFIED · 2026-09

    CLASS · repository

    ✓ every number on this site opens its receipt

    CLAIM · lead-sla

    How we count
  • History is not uptime.

    How long something has been in production is a fact about the past. It is not a promise about availability, and we don’t let it pose as one.

    Earliest funded-bill record in the system of record. This is a history claim, not an uptime claim.

    From the receipt

    Since Aug 2021 a consumer bill-financing fintech in production on rails we engineer

    receipt

    SOURCE · Funded-bill records in a consumer-fintech client's production database

    METHOD · Earliest funded-bill record in the system of record. This is a history claim, not an uptime claim.

    VERIFIED · 2026-09

    CLASS · platform account

    ✓ every number on this site opens its receipt

    CLAIM · fintech-since

    How we count
  • Count only what’s on record.

    Work that was set up but never reached production with tracking on record doesn’t get counted, even when counting it would look better.

    The same engine was set up for two more events. We count only launches with production tracking on record.

    From the receipt

    2 sales events launched on the engine with live GA4 and Google Ads conversion tracking

    receipt

    SOURCE · Campaign repositories for a new-car dealership (tracking configuration in each event page’s code)

    METHOD · Counted only event pages whose code carries live, non-placeholder GA4 and Google Ads conversion IDs.

    VERIFIED · 2026-09

    CLASS · repository

    ✓ every number on this site opens its receipt

    CLAIM · campaign-engine

    How we count
  • Unflattering numbers get published.

    Sometimes the most useful finding is the one nobody wanted. We print it, and we say what it means.

    At that reorder rate, paid acquisition cannot pay back on a single order, so we said so.

    From the receipt

    5% of customers ordered again, counting everyone at least 90 days past a first order: the blocker ads could not fix

    receipt

    SOURCE · Full store order history for a DTC pet-food brand

    METHOD · Customers whose first order is at least 90 days old, and the share of them who have placed a second order.

    VERIFIED · 2026-09

    CLASS · platform account

    ✓ every number on this site opens its receipt

    CLAIM · reorder-diagnosis

    How we count

06 · The ledger

Every claim in the bank.

Generated from the same file the site renders from, so this table cannot drift from the numbers on other pages. Figures awaiting sign-off are listed under their descriptors.

Show
Every claim in the Synaptech claims bank: figure, what it measures, source and method, source class, verified month, and who it is credited to.
#FigureWhat it measuresSourceClassVerifiedCredited to
0118,576SMS delivered in 30 days, at a 91.1% delivery rateTwilio messaging records for a consumer-fintech client's production account
method

Delivered-message count and delivery rate for a trailing 30-day window, verified independently against the Twilio API.

Platform account2026-09a consumer fintechSign-off pending
0290.8%of leads complete phone verification (one-time passcode)Production funnel data for a consumer-fintech client (lead records reconciled with verification events)
method

Share of leads that completed the one-time-passcode step, measured from production records.

Platform account2026-09a consumer fintechSign-off pending
03~33–40%of funded bills are Google-attributed. We publish it on purpose.Channel-attribution dashboard for a consumer-fintech client, reconciled against its funded-bill database
method

Ad-platform conversions compared with funded bills in the system of record over rolling windows. Absent data never renders as zero; immature cohorts are labeled, not counted.

Platform account2026-09a consumer fintechSign-off pending
04Since Aug 2021a consumer bill-financing fintech in production on rails we engineerFunded-bill records in a consumer-fintech client's production database
method

Earliest funded-bill record in the system of record. This is a history claim, not an uptime claim.

Platform account2026-09a consumer fintechSign-off pending
052paid risk vendors replaced by a first-party, explainable underwriting modelUnderwriting-model repository for a consumer-fintech client
method

Model design documents and serving code; both third-party scores are blocked from training and serving by a guard in code.

Repository2026-09a consumer fintechSign-off pending
06$1,094a month of ad spend leaking, found in a line-by-line account auditGoogle Ads account data for a DTC pet-food brand, delivered as a written audit
method

Campaign-level cost against real purchase conversions over a 30-day window, as reported in the written account audit.

Platform account2026-09a DTC pet-food brandName withheld
076.7% vs 1.7%purchase rate: shoppers who clicked through from the landing pages vs the store-wide averageStore analytics, order data and landing-page server logs for a DTC pet-food brand
method

Store sessions that entered from the landing pages, and their purchases, over a 30-day window, compared with the store-wide purchase rate for the same window. It counts shoppers who clicked through to the store, not every landing-page visit.

Platform account2026-09a DTC pet-food brandName withheld
081.37 → 4.81Performance Max ROAS as Google Ads reports it, April to AugustCredit shared with the incumbent agency — their changes were part of the climb.Google Ads account data for a DTC pet-food brand
method

Monthly return on ad spend for the brand’s Performance Max campaign as the Google Ads account reports it (platform-attributed, not reconciled with store orders), April vs August. September was running lower when the audit was written.

Platform account2026-09a DTC pet-food brandName withheld
095%of customers ordered again, counting everyone at least 90 days past a first order: the blocker ads could not fixFull store order history for a DTC pet-food brand
method

Customers whose first order is at least 90 days old, and the share of them who have placed a second order.

Platform account2026-09a DTC pet-food brandName withheld
1012tracking parameters carried across the landing-to-store hopLanding-system repository for a DTC pet-food brand
method

Parameter passthrough list in the landing system’s link builder.

Repository2026-09a DTC pet-food brandName withheld
1111channels in one documented UTM matrix, every link in English and SpanishCampaign repository for a new-car dealership (documented UTM link matrix)
method

Count of distinct channels with pre-built tracked links in the campaign’s written attribution plan.

Repository2026-09a California new-car dealershipSign-off pending
1260 secfollow-up target printed on every lead alert the engine sendsLead-alert service in the campaign repositories for a new-car dealership
method

The response-time prompt is part of the alert template itself. It is a target on every lead, not a measured average.

Repository2026-09a California new-car dealershipSign-off pending
132sales events launched on the engine with live GA4 and Google Ads conversion trackingCampaign repositories for a new-car dealership (tracking configuration in each event page’s code)
method

Counted only event pages whose code carries live, non-placeholder GA4 and Google Ads conversion IDs.

Repository2026-09a California new-car dealershipSign-off pending
14documented delivery velocity One build, told once, on the homepage.Build session records for a 12-rooftop auto group’s employee platform
method

Original scope estimate vs the documented build session. One build, told once; not a general rate.

Repository2026-09a 12-rooftop auto groupName withheld
1541API modules in one operations platform, replacing four legacy appsPlatform monorepo for a 12-rooftop auto group, plus the legacy-system inventory
method

Module count from the API source tree; legacy figures from the pre-migration inventory.

Repository2026-09a 12-rooftop auto groupName withheld
16~450employees across ~12 rooftops, served by one platformEmployee records in the platform for a 12-rooftop auto group
method

Active employee records at the time of the audit.

Repository2026-09a 12-rooftop auto groupName withheld
1710 accounts · 9 entitiesbank statements reconciled to the penny, every one checked against its printed totalsFinance pipeline repository for a 12-rooftop auto group
method

Validation logic and database re-verification in the pipeline; failures are quarantined, never silently included.

Repository2026-09a 12-rooftop auto groupName withheld
18116operations in a dealer-management SOAP integration, write-safe by constructionIntegration client repository for a 12-rooftop auto group
method

Operation registry generated from the vendor’s WSDLs across six services; read operations verified live against staging.

Repository2026-09a 12-rooftop auto groupName withheld
19v1.0.4SkillSchedule’s iOS and Android app, built on Expo alongside the web portalsSkillSchedule mobile repository (app version and EAS build configuration)
method

Version string from the app’s production build configuration.

Repository2026-09SkillScheduleCleared
206of our repos started as scaffolds in Bolt.new, an AI app builder, before our engineers took overSynaptech portfolio repositories
method

.bolt project directories found during the September 2026 portfolio audit, counted conservatively: four web front-ends and two product prototypes. More of our repositories carry .bolt folders and are not counted here.

Repository2026-09Synaptech, our own repositoriesCleared
21281,949veterinary board records across 30 states and DC behind the clinician verification gateTriaPet license index, as served by the live counter on triapet.com
method

Row count of the verification index across 31 veterinary licensing boards (30 states plus DC), read from the live counter on 2026-09-28. It counts every credential the boards publish (technicians, clinic premises, permits and lapsed licenses included), not only active veterinarians.

Platform account2026-09TriaPetVenture we operateCleared
22~25consent-aware lifecycle email events on one product, alongside Twilio SMSTriaPet platform repository (Klaviyo event catalog)
method

Count of distinct lifecycle events wired to Klaviyo with consent checks.

Repository2026-09TriaPetVenture we operateCleared
2367%of clinic-picker views showed no nearby clinic in our first 30-day reportTriaPet Mixpanel funnel report (30 days)
method

Server-authoritative events with identity stitched from first visit through triage to signup.

Platform account2026-09TriaPetVenture we operateCleared
244brand storefronts on one multi-tenant backend, plus the flagship storeCraveble platform monorepo
method

Storefront apps deployed against the shared API.

Repository2026-09CravebleVenture we co-operateCleared
254stores on one commerce platform, with books that close to the centPour Path platform repositories
method

Production stores provisioned in the platform’s control center.

Repository2026-09Pour PathOur own productCleared
26614retail locations in a store locator generated from distributor dataRivergreen Cocktails site repository (store-locator build pipeline)
method

Geocoded retail accounts rendered by the build scripts.

Repository2026-09Rivergreen CocktailsCleared
2747pages in a content-marketing and lead-gen site, with llms.txt for AI answer enginesAmerican Engineering site repository
method

Published pages in the site build.

Repository2026-09American EngineeringCleared
28~25institutional ordering portals on one meal-prep storefrontCleanEats site repository
method

Dedicated institutional ordering pages in the site build.

Repository2026-09CleanEatsCleared
2928competitor bars in the dataset every marketing claim is machine-checked againstPursuit Protein site repository (claim-verification pipeline)
method

Competitor products in the verified comparison dataset.

Repository2026-09Pursuit ProteinCleared
30~1,029funded sales that never reached the ad account, found and re-sent so bidding learned from real revenueOffline-conversion upload records reconciled with the funded-sales database of a consumer-fintech client
method

Funded sales from a two-month window compared with the conversions the ad platform actually recorded; the re-sent history was confirmed as landed in the ad account.

Platform account2026-09a consumer fintechSign-off pending
3160.2% vs 58.6%of paid vs organic visitors got through the worst signup step. The ads weren’t the leak; the site was.Event-level signup-funnel data for a consumer-fintech client, joined to its funded-sales database
method

Step conversion at the highest-drop signup step, split by traffic source (ad click present vs organic), over one month of new users.

Platform account2026-09a consumer fintechSign-off pending
32$0.99 → $0.71average brand click cost after we corrected a bid target that was pushing it upGoogle Ads account data for a consumer-fintech client
method

Average cost per click on brand exact-match keywords before and after the bid-target change, from the account’s own reporting.

Platform account2026-09a consumer fintechSign-off pending
33~20%more orders claimed by the two ad platforms than the store recorded from every sourceStore order history reconciled against Google Ads and Meta reporting for a DTC pet-food brand
method

Purchases each ad platform claimed over the same 30-day window, summed and compared with all store orders from every source. Rounded.

Platform account2026-09a DTC pet-food brandName withheld
344 → 1actions Google Ads was counting as a sale, cut to the one real store purchaseGoogle Ads conversion settings for a DTC pet-food brand, before and after (account change log)
method

Primary conversion actions in the account before and after the change, confirmed by re-reading the account’s conversion settings.

Platform account2026-09a DTC pet-food brandName withheld
350 → 5key conversion events live and linked to Google Ads, on a launch that began with an empty tag containerAnalytics property change log for a marketplace we operate
method

Key events and the Google Ads link created in the analytics property, read from the property’s change log.

Platform account2026-09TriaPetVenture we operateCleared
369,774 → 614distributor accounts screened down to the stores with sales of the product this year or last, before any went on the locatorDistributor sales report and store-locator build scripts for a ready-to-drink beverage brand
method

Accounts kept only when they recorded sales in the current or prior year, then geocoded. Counts from the raw report and the published locator data.

Repository2026-09a canned-cocktail brandSign-off pending
3710 → 47indexable pages after a search-first rebuild, each with structured data, every old URL redirectedSite repository for a civil-engineering firm (first commit vs the published sitemap)
method

HTML pages in the first commit compared with the URLs in the published sitemap.

Repository2026-09American EngineeringCleared
38~2 daysfrom first commit to a live, tracked sales-event page in English and SpanishCampaign repository for a new-car dealership (commit history and the event’s published start time)
method

Timestamp of the first commit compared with the start time published in the event page’s structured data.

Repository2026-09a California new-car dealershipSign-off pending
3947 of 49seats sold at $150 each for the Buzzard’s Roost whiskey dinner in Campbell, California, on August 14, 2025Pour Path Events ticketing records
method

Tickets kept at the $150 seat price, counted against the 49 seats offered for the August 14, 2025 dinner. Not counted: our own two $1 checkout-test tickets, and one ticket marked refunded on the ticket site.

Platform account2026-09Pour PathOur own productCleared
40$12.4Kin ticket sales from two whiskey dinners, after refunds and test ticketsPour Path Events ticketing records
method

Ticket payments for the August 2025 and February 2026 dinners, less the refunds paid back through the card processor, with our own two $1 checkout-test tickets left out. Also left out: one $150 ticket marked refunded on the ticket site although no money went back, so the figure errs low. Rounded.

Platform account2026-09Pour PathOur own productCleared
41$58.5Kin store payments kept after refunds and chargebacks, across every store on Pour Path, its own included, June 2025 to September 2026Net of a $4,018 disputed payment the processor has already taken back.Card-processor payment, refund and dispute records for the stores on Pour Path, read with read-only access
method

From the card processor’s own records: 232 completed store payments ($68.1K gross), less $5.4K refunded and $4.2K taken back in chargebacks (one lost, and one $4,018 dispute whose funds the processor has already withdrawn). Six small checkout-test charges from June and July 2025 are in the count; after their refunds they come to under $40. Sales tax and shipping included. Rounded.

Platform account2026-09Pour PathOur own productCleared
42$27.9Kfrom one members-only wine sale for a private club in July 2026, after refunds, sales tax includedOrder and refund records for a private club’s store on Pour Path
method

The club store’s paid July 2026 orders with sales tax, less $2.2K refunded in August against those orders. The one disputed order ($4,018) is left out. Rounded.

Platform account2026-09Pour PathOur own productCleared
430 of 222old synaptech.io addresses left broken after the rebuildHTTP sweeps of every known old synaptech.io address on the live site, at the September 2026 launch and again on September 29, 2026
method

The 222 are the 89 old addresses in the launch-day sweep, each old blog post’s /all-posts or /articles address with and without a trailing slash, and each post’s dated /blog/ address. Each was requested on synaptech.io and followed hop by hop. It passes with a working page, one redirect to a working page, or a deliberate 410 Gone for a page retired on purpose. None ended in a 404 or took more than one redirect. Links to the old blog host (blog.synaptech.io) were checked separately: all 106 reach a working page in two redirects.

Repository2026-09Synaptech, our own repositoriesCleared
4417 → 0page titles and descriptions too long for search resultsCrawls of every synaptech.io page, before and after the title and description fixes
method

Titles over 60 characters and descriptions over 160, counted in a crawl of every page before the fixes (25 pages) and again after them (28 pages).

Repository2026-09Synaptech, our own repositoriesCleared
44 claims25 awaiting sign-offlatest verification 2026-09

07 · The build gate

A check that can stop the deploy.

The rules above are only as good as their enforcement. So they run as code, before every build of this site.

A script reads every source file on the site and the claims bank itself. It fails the build on banned marketing phrases: promises about outcomes we don’t control, invented scale, and adjectives with no mechanism behind them. It fails on duplicate claim ids. It fails if the one documented delivery velocity example is referenced more than once.

It lists every claim still waiting on a client’s signature on every run, and in strict mode a pending sign-off fails the build too. Then it stamps its count into the colophon at the bottom of every page, so the number you see there is the number the last build checked.

$ npm run build
> prebuild: node scripts/verify-claims.mjs

✓ scan      banned phrases · every source file
✓ bank      44 claims · no duplicate ids
! sign-off  25 pending · published under descriptors
✓ velocity  told once, on the homepage
✓ stamp     count written for the footer colophon

✓ verify-claims passed · build continues
Last checked 2026-09-29. Counts on this page are read from the claims bank at build time.

08 · The front door

Find out what’s between you and production.

Bring your prototype, or just the idea. Leave with a written gap map — deployment, security, payments, integrations, growth readiness — before you spend a dollar. If we’re not the right team to close the gaps, the map is still yours.

30 minutes. A written gap map. No pitch unless you ask for one.

info@synaptech.io +1 (925) 255-9507 Pleasanton, CA

Start with the gap map

The live site, your repo, or a share link from an AI app builder like Lovable or Bolt. Private? Write “private” and we’ll ask for access.

Your answers prime the review agenda. We use them to reply — nothing else. Privacy policy

Free Production Gap ReviewBook a call