What question did we test?

Can a small software directory recognize that a referred visit reached a product profile and clicked through to a product website, without counting repeated deliveries as extra discovery? We used the event identity and published-product restriction from ShowMeYourSaaS’s own tracking implementation to answer that narrow question.

We executed the downloadable SQLite lab on 30 October 2026. The products, visits and channel labels are fictional inputs. No customer participated, no AI engine was queried for this exercise, and no traffic lift, signup or revenue was measured. The result explains a working measurement rule that another founder can inspect before applying it to real activity.

Define the units before collecting events

A product-profile observation is one visit viewing one product. A product click is one visit clicking one product’s website link. Repeating either action for the same product in that visit keeps one observation. Exploring a second product creates a separate product observation; it does not create another visit.

The browser implementation uses a measured 30-minute visit and retains its first recognized channel and landing-page category. The downloadable lab starts after that step: its visit identifiers, channel labels and landing paths are assigned fixture inputs. It does not simulate browser attribution, consent or session expiry. A visit identifier is not a verified person or account.

The units used by this directory workflow
UnitDefinitionUseful boundary
Profile observationOne visit × one product × profile_viewA repeat view stays one observation
Product clickOne visit × one product × website_clickTwo products can produce two clicks in one visit
Visit with a product clickDistinct visit identifiers with website_clickA click does not confirm that the destination loaded
Customer resultA separately verified signup or useful product taskNot collected by this directory-click report

Follow the controlled input journey

The first fictional visit is labeled chatgpt. It views Brief Studio twice, clicks its website twice, then views Feedback Board and clicks that product’s website once. The rule retains four observations: a view and a click for each product. That is two product clicks from one measured visit.

A second visit labeled perplexity views and clicks Brief Studio. Three further visits, labeled direct, google and other, only view a profile. The remaining two deliveries name a hidden product and an unknown product. They are excluded. The channel names describe supplied test labels; they are not evidence that a service actually sent a visitor or cited a page.

What did the executed run record?

The reference run used v24.19.0 and SQLite 3.53.3. The JSON receipt records its execution time, input deliveries, per-delivery outcomes, grouped rows and the SHA-256 digest of the downloadable source. These results came from running the lab, rather than from filling an expected-results table by hand.

Observed output from the synthetic SQLite run on 30 October 2026
ObservationRecorded valueMeaning
Delivered events13Includes repeats and ineligible products
Stored observations9Profile and click observations together
Repeated deliveries ignored2Same visit, product and event
Ineligible deliveries excluded2One hidden and one unknown product
Profile observations6Six visit/product pairs
Visits reaching a profile5One visit explored two products
Product clicks3Three visit/product click pairs
Visits with a product click2Two measured visits clicked a product

Reproduce the result locally

Download the single JavaScript module and run the command below with Node.js 22.13 or later. It uses the built-in SQLite module, creates an in-memory database and prints JSON. It makes no network requests and writes no persistent database. Node 22 may print an experimental SQLite notice alongside the result.

The source includes the fictional listings, all 13 deliveries, table definition, insert statement and report queries. Compare your output’s delivered, recorded, duplicates, excluded, summary and rows fields with the saved receipt. The SQLite version can differ between runtimes. The receipt’s source digest lets you check which module produced the published result.

The repository’s separate parity test sends the same fixture through our production event handler and authenticated discovery-report code using local SQLite. It verifies the stored rows and report totals against the downloadable run. It exercises application behavior locally; it does not reproduce Cloudflare’s edge environment or a real visitor’s browser.

Run the downloaded module
node product-discovery-lab.mjs

Which founder decision does this support?

For a directory, use this report to find profiles that attract interest but receive few website clicks, then inspect the description, audience fit and next step. For a founder evaluating distribution, ask the directory for its metric definition before comparing referral numbers. Three click observations from two measured visits should be reported in those units.

A missing click does not establish that the profile was unhelpful. A visitor might read the product name and return later through another route. A click can also occur without a completed destination visit. This workflow provides a bounded discovery signal, while the product owner’s own activation measurement answers whether someone reached a useful result.

Keep citations, referrals and customer outcomes separate

A citation is an observation in an AI answer or provider report. A referral is observed acquisition information on a site visit. A directory website click is another event. They do not share a complete, matched population, so dividing one report by another would manufacture a conversion rate.

The lab omits HTTP validation, daily connection hashing, throttling, retention and browser privacy signals. Those remain separate responsibilities in the deployed application. The synthetic source groups establish no channel ranking or commercial advantage. To measure our later growth, we need actual observations over a stated period and must keep them separate from this controlled demonstration.