Prepared by SwarmSystem Case study · Endo Excellence Center · September 2026
Client case study

A specialty practice, booked months ahead

Endo Excellence Center is an endometriosis surgery practice in Dallas, Texas. One surgeon, one specialty, out of network. They have been our client since August 20, 2024.

Two years in, the practice is scheduling new patients into January 2027. Below is what we run, what each piece produced, and where every number on this page comes from. Nothing here is modeled or estimated. Figures are as of September 13, 2026. This page refreshes on December 12, 2026.

The headline

Three numbers, and what each one measures

2,129Webinar registrationsNineteen monthly webinars, February 2025 to August 2026. The ad platform's own count.
151,071Clicks from Google searchMay 2, 2025 to September 11, 2026, all countries. Google's own count, and it starts where Google's retention starts.
487Tracked callsJune 30, 2026 to September 11, 2026. Calls to the tracked number on the website, from the day tracking started.

The booking horizon is the number that matters, and it is the one no system of ours can pull. It comes from Vishal Jamil, the account manager on this practice, who writes a dated note in the client channel every week. We quote him because the practice owns its calendar and we do not.

The practice is now booking new patient appointments into January 2027, while actively filling remaining availability in December 2026.

Vishal Jamil, weekly note, August 7, 2026

only two appointment slots remained for January 19, 2027

Vishal Jamil, weekly note, September 11, 2026

Clinic continues to maintain extremely high patient demand and is consistently booking over 40 patients per month against an estimated capacity of 35 monthly slots

Vishal Jamil, weekly note, May 15, 2026. His estimate of capacity, not the practice's number.

From ad to appointment

From an ad click to a scheduled patient

Each row below comes from a different system with its own window, so the rows do not divide into each other. Each one is smaller than the one above it. Where a stage has no clean number, it says so.

StageCountWindowWhere it comes from
Ad clicks51,818February 2025 to August 2026The ad platform
Webinar registrations2,129February 2025 to August 2026The ad platform
Tracked calls to the website number487June 30, 2026 to September 11, 2026Call tracking
Patients scheduled in one weekWeekly patient scheduling increased to approximately 17 patientsWeek ending September 4, 2026The account manager's dated note, quoted as written
Surgeriesnot trackedThe practice's own records, which stay with the practice
Two years

What happened, in order

Every date below is read from a record: the client channel, the analytics property, Google's own emails, or the call tracker.

August 20, 2024

The engagement starts. Notes from the first call go into the client channel.

September 16, 2024

Thirty articles assigned. A one-time project, the first content on the new site.

October 16, 2024

Measurement begins. The analytics property is created. Phone-click tracking goes on the site the same day.

February 12, 2025

The first monthly webinar. Ads had gone live the week before.

October 3, 2025

Booked through December. The account manager's note: They are all booked out for December and now they are already scheduling for the month of January!

October 15, 2025

Google's first milestone email. 4,000 clicks from search in four weeks.

November 2, 2025

5,000 clicks in four weeks.

January 2, 2026

6,000 clicks in four weeks.

January 12, 2026

7,000 clicks in four weeks.

January 23, 2026

9,000 clicks in four weeks.

February 2, 2026

11,000 clicks in four weeks.

February 13, 2026

Booked three months out. The account manager's weekly note.

February 16, 2026

13,000 clicks in four weeks.

February 25, 2026

14,000 clicks in four weeks.

March 6, 2026

15,000 clicks in four weeks. Google's ninth and latest milestone email.

June 30, 2026

Call tracking starts on the website number.

August 7, 2026

Booking into January 2027. The account manager's weekly note, quoted at the top of this page.

Nineteen webinars

Nineteen months of webinars, every one

Every month since February 2025 the practice has run one live webinar. We write the ad scripts, the surgeon records them, we edit them and run the ads for about two weeks into a sign-up page, and the practice's scheduler follows up with the people who register. Spend is what the ad platform billed. Registrations are its own count.

$38,303.58Ad spendPaid to the ad platform, not to us. February 2025 to August 2026.
2,129RegistrationsPeople who signed up for a webinar. Same window.
$17.99Cost per registrationTotal spend over total registrations.
MonthSpendAd clicksRegistrationsCost per registration
February 2025$1,440.0299036$40.00
March 2025$1,840.531,790115$16.00
April 2025$2,226.771,89883$26.83
May 2025$1,897.192,036138$13.75
June 2025$2,147.902,204133$16.15
July 2025$2,405.663,045208$11.57
August 2025$2,256.293,509164$13.76
September 2025$1,809.441,27486$21.04
October 2025$1,974.211,45038$51.95
November 2025$1,934.973,23792$21.03
December 2025$1,998.163,597140$14.27
January 2026$1,925.343,531126$15.28
February 2026$2,212.604,495227$9.75
March 2026$1,810.063,711115$15.74
April 2026$2,142.562,72587$24.63
May 2026$1,997.313,09498$20.38
June 2026$1,955.502,27082$23.85
July 2026$2,404.383,59572$33.39
August 2026$1,924.693,36789$21.63

The worst month is on the table on purpose. October 2025 cost $51.95 per registration on 38 registrations. The ad record does not say what changed that month. The practice record for the same month says the consultation booking fee went up and bookings dipped. In the account manager's words on October 17, 2025: The primary reason appears to be the updated pricing, as several patients mentioned the consultation cost felt too high and decided not to proceed.

This ran for this client from February 2025 to August 2026. It is shown because it happened, not because it is for sale.

Search

People finding the site without ads

Google reports on itself here. Its record for this site starts on May 2, 2025, so every sentence names its window.

June 20251,866
March 202619,067
August 202614,375

In June 2025, the first full month Google holds, the site got 1,866 clicks from search. In March 2026 it got 19,067. In August 2026 it got 14,375. From May 2, 2025 to September 11, 2026 that adds up to 151,071 clicks, and the site showed up in search results 17,477,506 times. 101,954 of those clicks came from the United States.

MonthClicks from Google search
June 20251,866
July 20252,165
August 20253,431
September 20253,580
October 20255,418
November 20255,640
December 20256,545
January 202611,483
February 202614,219
March 202619,067
April 202613,731
May 202612,744
June 202614,710
July 202615,975
August 202614,375

The site's own analytics reach back further than Google's export does. In November 2024, the first full month the property existed, 779 visits came from Google search. In August 2026 it was 15,112. All visits, from every source, went from 1,842 to 18,760 over the same two months.

The search that brings in the most people is endometriosis specialist near me, with 923 clicks from May 14, 2025 to September 12, 2026, United States only. 662 pages on the site drew at least one click from January 13, 2026 to September 12, 2026.

Two things went wrong and both are on the record. Google flagged server errors on the site on October 31, 2025, and pages blocked by the robots file on March 8, 2026. The latest crawl, September 10, 2026 to September 11, 2026, found 0 pages returning a server error.

Tracked calls

The phone, counted

Call tracking went on the website number on June 30, 2026, so this is ten weeks of data and we say so. Before that, the only record of call volume is the account manager's weekly note. On August 7, 2026 he wrote: Website-generated call volume remains exceptionally high, averaging 18–25 calls per day.

487Tracked callsJune 30, 2026 to September 11, 2026.
286First-time callersCallers the tracker had not seen before.
482AnsweredCalls marked answered by the tracker.
MonthTracked calls
June 2026, one day2
July 2026211
August 2026206
September 2026, through the eleventh68

All of them came through the one tracked number on the website, so there is no split by source. Calls to the practice's other lines are not in these figures.

The work

What we built and what we run

In the order Justin gave a surgeon who called and asked how this practice did it.

The website

Justin's words on that call, September 13, 2026: So we built her website for her, and we drive quite a bit of traffic from our blog system and our SEO system and, get a lot of visibility on AI as well.

The client channel carried the website project's name until January 30, 2025, when the work became the practice's whole visibility rather than a build.

Sources: a recorded call, and the client channel.
The articles and the search system

30 articles were assigned on September 16, 2024 as the first content on the site. Since then the site has grown to 825 pages that the optimization system tracks, and that system has deployed 13,712 fixes to titles, links, images, and markup across them. The Google Business Profile was verified on April 14, 2026.

Sources: the client channel, and the optimization system's own counts.
Showing up when someone asks an AI

Justin put it in the list on the same call. No system of record measures how often assistants recommend this practice, so there is no number here and we are not going to invent one. What we can show is the search record above, which is the same content on the same site.

Not tracked. Named as such.
The webinars

19 webinars, one a month, every month since February 2025. In Justin's words on the call: We provide you the scripts for the Facebook ads. The scripts, the editing, the ads, the sign-up page, and the follow-up messages are ours. The automated follow-up sequence was completed on April 9, 2026.

Sources: the ad platform, the client channel, and a recorded call.
Where the website inquiries came from

Every form submission on the website since October 16, 2024 carries the source of the visit. 2,691 came from search without ads, 2,246 from the social ads, 1,120 from people who typed the address, 1,105 from our follow-up messages, and 200 from everything else. That is 7,362 in all. These are form events, not unique people.

Source: the site's own analytics. The practice's contact system was not exported for this page, so its count is not published.
Measurement

How we know any of this is true

We report the numbers the client's own systems produce, and we tell you which system each one came from. Here is the whole stack.

Google Analytics

Visits, sources, and form and phone events. The property was created on October 16, 2024, so nothing on this page reaches before that.

Google Search Console

Clicks and how often the site showed up, straight from Google. The only honest source for whether search visibility moved.

The ad platform

Spend, clicks, and registrations for every webinar campaign, read at the campaign level so nothing is double counted.

Call tracking

Calls to the tracked number on the website, counted by month. Caller identity is dropped at pull time and never stored.

The account manager's weekly note

Patients scheduled and the booking horizon, written in the client channel each week with a date. Quoted, never totaled.

The site optimization system

Pages tracked and fixes deployed, as it reports them.

The tag container on the site, GTM-TQCB2BKL, records when each measurement was installed: analytics and phone-click tracking on October 16, 2024, webinar sign-up tracking on January 30, 2025, and website form tracking on March 4, 2025.

Analytics counts 7,362 website form submissions, 1,662 taps on the phone number, and 2,815 webinar sign-up forms since October 16, 2024. Those are event fires, not unique people. The webinar figure is a second view of the registration count above, and it is never added to it.

The reference

Ask them yourself

The strongest thing we can tell you about this account is that the practice can speak to the work. We do not hand out the practice's contact details from a case study. Ask us and we will ask her, each time, and connect you only with her yes.

See the site yourself

endoexcellencecenter.com. Search any of the questions a patient would ask and see where the practice lands.

Request an introduction at hello@swarmsystem.com
Unknowns

What we do not know

A page that only shows the green numbers is managing you. These are the gaps.

Sources

Where every number came from

One row per figure: the system, the window, and the basis. The raw files behind this table are kept beside the page, and the check that compares every figure above to its row runs before every publish.

FigureValueSystemWindowBasis
as ofSeptember 13, 2026none: a named absencen/anot derived: the day the raw files were pulled
refresh dateDecember 12, 2026none: a named absencen/anot derived: ninety days after the public deploy on September 13, 2026
doctor nameDr. Rachael HaverlandSearch Console data through our reporting toolMay 14, 2025 to September 12, 2026the spelling Google's query data carries; the page prints the doctor's name only in its own line about who the client is
engagement startAugust 20, 2024the client channel (the account manager's dated notes)n/athe day Justin posted the notes from the original call in the client channel
analytics createdOctober 16, 2024the site's own analyticsn/aGoogle Analytics property createTime; nothing is measured before it
headline volume2,616the ad platformregistrations February 2025 to August 2026; tracked calls June 30, 2026 to September 11, 2026registrations plus tracked calls, two windows; held for the consent path and not rendered as one number because the windows differ
headline capacitynot attestednone: a named absencen/arenders only with the doctor's attested words on file; none are (operator ruling September 13, 2026 proceeded without them), so the booking horizon on the page is the account manager's dated notes and says so
meta registrations total2,129the ad platformFebruary 2025 to August 2026complete_registration across all twenty campaigns (nineteen monthly webinars plus the February 2025 copy, which has none)
meta spend total$38,303.58the ad platformFebruary 2025 to August 2026ad spend as the ad platform reports it, to the cent; the fee for running it is not on this page
meta cost per registration$17.99the ad platformFebruary 2025 to August 2026total spend over total registrations
organic clicks total151,071Google Search ConsoleMay 2, 2025 to September 11, 2026Google Search Console daily clicks, all countries, summed; the API holds nothing earlier
organic impressions total17,477,506Google Search ConsoleMay 2, 2025 to September 11, 2026Google Search Console daily impressions, all countries, summed
calls total487call tracking on the website numberJune 30, 2026 to September 11, 2026calls to the tracked website number since the tracker was created; not all calls to the practice
funnel clicks51,818the ad platformFebruary 2025 to August 2026ad clicks across all twenty campaigns
funnel registrations2,129the ad platformFebruary 2025 to August 2026webinar registrations (complete_registration)
funnel calls487call tracking on the website numberJune 30, 2026 to September 11, 2026tracked calls to the website number, a ten-week window that starts when tracking did
funnel scheduledWeekly patient scheduling increased to approximately 17 patientsthe client channel (the account manager's dated notes)week ending September 4, 2026the account manager's dated note, quoted as a range, never a total; per-patient records never leave the practice
funnel surgeriesnot trackednone: a named absencen/athe practice's own records; not shared here and not ours to publish
tick blogsSeptember 16, 2024the client channel (the account manager's dated notes)n/athe day the thirty-article project was assigned in the client channel
tick first webinarFebruary 12, 2025the client channel (the account manager's dated notes)n/athe first webinar date as set in the client channel
tick booked through decemberOctober 3, 2025the client channel (the account manager's dated notes)n/athe account manager's dated note
tick booked three monthsFebruary 13, 2026the client channel (the account manager's dated notes)n/athe account manager's dated note
tick tracking startJune 30, 2026call tracking on the website numbern/athe first call on the tracked website number
Timeline: booking into January 2027August 7, 2026the client channel (the account manager's dated notes)n/athe account manager's dated note
Google milestone, four thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email, relayed to Slack by the mail rule
Google milestone, five thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, six thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, seven thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, nine thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, eleven thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, thirteen thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, fourteen thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Google milestone, fifteen thousand clicks in four weekstable aboveGoogle's own email, relayed to the team channelfour weeks ending on the dateGoogle's own milestone email
Webinar ads, February 2025table abovethe ad platformFebruary 2025campaign totals; February 2025 includes the small copy campaign
Webinar ads, March 2025table abovethe ad platformMarch 2025campaign totals
Webinar ads, April 2025table abovethe ad platformApril 2025campaign totals
Webinar ads, May 2025table abovethe ad platformMay 2025campaign totals
Webinar ads, June 2025table abovethe ad platformJune 2025campaign totals
Webinar ads, July 2025table abovethe ad platformJuly 2025campaign totals
Webinar ads, August 2025table abovethe ad platformAugust 2025campaign totals
Webinar ads, September 2025table abovethe ad platformSeptember 2025campaign totals
Webinar ads, October 2025table abovethe ad platformOctober 2025campaign totals; the worst month by cost per registration
Webinar ads, November 2025table abovethe ad platformNovember 2025campaign totals
Webinar ads, December 2025table abovethe ad platformDecember 2025campaign totals
Webinar ads, January 2026table abovethe ad platformJanuary 2026campaign totals
Webinar ads, February 2026table abovethe ad platformFebruary 2026campaign totals
Webinar ads, March 2026table abovethe ad platformMarch 2026campaign totals
Webinar ads, April 2026table abovethe ad platformApril 2026campaign totals
Webinar ads, May 2026table abovethe ad platformMay 2026campaign totals
Webinar ads, June 2026table abovethe ad platformJune 2026campaign totals
Webinar ads, July 2026table abovethe ad platformJuly 2026campaign totals
Webinar ads, August 2026table abovethe ad platformAugust 2026campaign totals
meta months19the ad platformFebruary 2025 to August 2026one campaign per monthly webinar
meta worst monthtable abovethe ad platformFebruary 2025 to August 2026the month with the highest cost per registration; the ad record does not say what changed that month
organic monthlytable aboveGoogle Search ConsoleJune 2025 to August 2026, full months onlyGoogle Search Console clicks per calendar month, all countries
organic clicks first full month1,866Google Search ConsoleJune 2025June 2025, the first full month the API holds
organic clicks peak month19,067Google Search ConsoleMarch 2026March 2026, the highest month in the series
organic clicks latest full month14,375Google Search ConsoleAugust 2026August 2026, the latest full month
organic clicks us total101,954Google Search ConsoleMay 2, 2025 to September 11, 2026the United States share of the same series
analytics sessions first full month1,842the site's own analyticsNovember 2024sessions in November 2024, the first full month the property existed
analytics sessions latest full month18,760the site's own analyticsAugust 2026sessions in August 2026
analytics organic sessions first full month779the site's own analyticsNovember 2024sessions from Google organic search in November 2024; the earliest organic record any system holds
analytics organic sessions latest full month15,112the site's own analyticsAugust 2026sessions from Google organic search in August 2026
top querytable aboveSearch Console data through our reporting toolMay 14, 2025 to September 12, 2026the top query by clicks in the Search Console table, United States scope
pages ranking662Search Console data through our reporting toolJanuary 13, 2026 to September 12, 2026pages with at least one click in the window, United States scope
gsc issue server errorsOctober 31, 2025Google's own email, relayed to the team channeln/aGoogle's dated notice of server errors on the site
gsc issue robotsMarch 8, 2026Google's own email, relayed to the team channeln/aGoogle's dated notice that pages were blocked by robots.txt
audit server errors now0the site optimization systemcrawl September 10, 2026 to September 11, 2026server-error pages in the latest crawl
calls by monthtable abovecall tracking on the website numberJune 30, 2026 to September 11, 2026tracked calls per month; June is one day, September runs through the eleventh
calls first time callers286call tracking on the website numberJune 30, 2026 to September 11, 2026callers the tracker had not seen before
calls answered482call tracking on the website numberJune 30, 2026 to September 11, 2026tracked calls marked answered
calls by sourcetable abovecall tracking on the website numberJune 30, 2026 to September 11, 2026one tracker on the website number, so every call carries the same source; the split is by month, not by source
contacts splittable abovethe site's own analyticsOctober 16, 2024 to September 12, 2026split_basis: Google Analytics fallback. Website form submission events by the session's source; event fires, not unique people. The contact system export was never requested (the ask to the account manager was not sent), so the count of contacts in that system is not published
analytics form events total7,362the site's own analyticsOctober 16, 2024 to September 12, 2026website form submission events; event fires, not unique people
analytics phone click events total1,662the site's own analyticsOctober 16, 2024 to September 12, 2026taps on the phone number; event fires, not unique people
analytics webinar form events total2,815the site's own analyticsOctober 16, 2024 to September 12, 2026webinar sign-up form events seen by the site's own analytics; a second view of the registration series, not added to it
Account manager's note, February 13, 2026Dr. Haverland is booked 3 months out, creating long wait times.the client channel (the account manager's dated notes)February 13, 2026Vishal Jamil, account manager, weekly check-in note, verbatim
Account manager's note, May 15, 2026Clinic continues to maintain extremely high patient demand and is consistently booking over 40 patients per month against an estimated capacity of 35 monthly slotsthe client channel (the account manager's dated notes)May 15, 2026Vishal Jamil, weekly check-in note, verbatim; his estimate of capacity, not the practice's number
Account manager's note, August 7, 2026 (calls)Website-generated call volume remains exceptionally high, averaging 18–25 calls per daythe client channel (the account manager's dated notes)August 7, 2026Vishal Jamil, weekly check-in note, verbatim
Account manager's note, August 7, 2026 (booking)The practice is now booking new patient appointments into January 2027, while actively filling remaining availability in December 2026.the client channel (the account manager's dated notes)August 7, 2026Vishal Jamil, weekly check-in note, verbatim
Account manager's note, September 4, 2026The increase effectively doubled the practice’s recent weekly scheduling volume.the client channel (the account manager's dated notes)September 4, 2026Vishal Jamil, weekly check-in note, verbatim
Account manager's note, September 11, 2026New patient appointments are now being scheduled into January 2027.the client channel (the account manager's dated notes)September 11, 2026Vishal Jamil, weekly check-in note, verbatim
Account manager's note, September 11, 2026 (slots)only two appointment slots remained for January 19, 2027the client channel (the account manager's dated notes)September 11, 2026Vishal Jamil, weekly check-in note, verbatim
Account manager's note, October 3, 2025They are all booked out for December and now they are already scheduling for the month of January!the client channel (the account manager's dated notes)October 3, 2025Vishal Jamil, weekly check-in note, verbatim
Account manager's note, October 17, 2025 (pricing)The primary reason appears to be the updated pricing, as several patients mentioned the consultation cost felt too high and decided not to proceed.the client channel (the account manager's dated notes)October 17, 2025Vishal Jamil, weekly check-in note, verbatim; the practice record for the worst ad month
work website quoteSo we built her website for her, and we drive quite a bit of traffic from our blog system and our SEO system and, get a lot of visibility on AI as well.Justin, on a recorded callSeptember 13, 2026 callJustin, on a recorded call with a prospect, verbatim
work webinar quoteWe provide you the scripts for the Facebook ads.Justin, on a recorded callSeptember 13, 2026 callJustin, on the same call, verbatim
work website channelJanuary 30, 2025the client channel (the account manager's dated notes)n/athe client channel carried the website project's name until this date
work blogs30the client channel (the account manager's dated notes)September 2024the size of the one-time article project as assigned
work nurtureApril 9, 2026the client channel (the account manager's dated notes)n/athe day the automated follow-up sequence was completed
work gbp verifiedApril 14, 2026the client channel (the account manager's dated notes)n/athe day the Google Business Profile was finally verified
work onpage fixes13,712the site optimization systemcumulative to September 13, 2026on-page fixes deployed by the site optimization system, as it reports them
work pages825the site optimization systemSeptember 13, 2026pages the optimization system tracks on the site
tag container containerGTM-TQCB2BKLthe tag container on the siten/athe tag container on the site
tag container tag datestable abovethe tag container on the siten/athe last-edit stamp on each live tag
unknown revenuenot publishednone: a named absencen/arevenue per patient is the practice's number; the account manager's monthly estimates exist in the record and are not published
Unknown: October 2025not knownnone: a named absenceOctober 2025the ad record does not say why registrations fell in October 2025; the practice record for that month notes a consultation fee increase and a dip in bookings (the pricing note dated October 17, 2025)
unknown pre engagementnot knownnone: a named absencebefore October 16, 2024Google Analytics was created two months after the engagement began; nothing measures the practice before that, so there is no before
unknown calls before trackingnot trackednone: a named absencebefore June 30, 2026call tracking began on that date; the account manager's weekly call notes are the only earlier record
unknown ai visibilitynot trackednone: a named absencen/ano system of record measures how often assistants recommend the practice; the page carries only Justin's words on the call

Self check: audit modes manifest, facts, html, and gates each exited zero on 2026-09-13 19:38 UTC. 100 fact rows, facts file d11cabb1c687. Every figure above sits inside a marked element whose text was compared to its row.

SELF CHECK: 0 TOKENS · 0 EM DASHES · 0 CONSOLE ERRORS · PASSED