✎ Awaiting Dr. Ressler's review.
These pages are built and QA'd but have
not yet been reviewed or approved by Dr. Ressler. Nothing should go live until he signs off. Please have him review, with particular attention to:
- Clinical accuracy, especially the corrected implant solution hierarchy on dental-implants and all-on-4 (single tooth, then a few teeth, then full arch removable, then full arch fixed).
- Offers: the $129 / $474 value, the inclusion lists, and the three offer codes as they appear on each page.
- Photography: which images are real patients versus licensed stock, and whether any before/after case belongs to a patient who has not consented to marketing use.
- Claims and statistics: the 5,871 implants placed figure, "26 years of experience," procedure timing claims, and the health-risk statements on the gum pages.
- Credentials: the AAP and AACD badges now shown below the hero on every page.
⚠ Open decision blocking launch: route paid traffic to GHL, not the scheduler.
Every page currently offers a secondary "Schedule Online 24/7" CTA pointing at the practice's live NexHealth booking
(app.nexhealth.com/appt/resslerdental). That is an off-site handoff that breaks attribution: UTMs, gclid/gbraid/wbraid
do not follow the visitor into the booking tool, so those conversions cannot be tied back to a campaign, keyword, or ad, and cannot be fed to Google Ads for bid optimization.
Action: re-point all scheduling CTAs to the GHL funnel/booking destination so every conversion lands in one attributable system.
21 links across the 10 landing pages plus 1 on the thank-you page (22 total) need re-pointing once the GHL URL is supplied.
Only keep NexHealth if it can (a) accept and persist UTM and click-ID query parameters and (b) fire a conversion callback we can capture. Otherwise every scheduler booking is untracked spend.
Landing pages and keyword mapping
| # | Page | Campaign / ad group targets | Offer | Priority |
| 1 | dental-implants.html | dental implants, implant dentist, tooth implant cost + Delray Beach / Boca Raton / Boynton Beach | IMPLANT-CONSULT-129 | Launch first |
| 2 | all-on-4-dental-implants.html | all on 4 dental implants, teeth in a day, full mouth implants, permanent teeth | IMPLANT-CONSULT-129 | Launch first |
| 3 | laser-gum-treatment.html | laser gum treatment, gum disease treatment, periodontist near me, bleeding gums | GUMS-129 | Launch first |
| 4 | receding-gums.html | receding gums treatment, gum graft, pinhole gum surgery | GUMS-129 | Wave 2 |
| 5 | cosmetic-dentistry.html | cosmetic dentist, veneers, smile makeover, porcelain crowns | NEW-PATIENT-129 | Wave 2 |
| 6 | implant-dentures.html | loose dentures, snap in dentures, denture stabilization, implant dentures | IMPLANT-CONSULT-129 | Wave 2 |
| 7 | emergency-dentist.html | emergency dentist, broken tooth, tooth pain (call-first page, call extensions) | Call-first; NEW-PATIENT-129 secondary | Wave 2 |
| 8 | invisalign.html | invisalign, clear aligners, invisible braces, adult braces | NEW-PATIENT-129 | Wave 3 |
| 9 | new-patient.html | dentist near me, dentist delray beach, brand campaign, Performance Max | NEW-PATIENT-129 | Wave 3 |
| 10 | second-opinion.html | dental second opinion, do I need this dental work (differentiator play) | NEW-PATIENT-129 | Wave 3 |
Why this order. Implants and laser gum treatment are the practice's highest-value service lines and its two strongest proof stories (5,871 implants placed; the site's own laser gum positioning and dedicated $129 gum offer). Waves 2 and 3 add coverage as budget and search volume justify. Recommended but not built (thin source copy or low paid intent): deep cleaning, tooth extraction, CEREC same-day crowns as standalone pages; each is covered as a section inside an existing page.
Offers used (the site's own), verified
| Code | Contents | Price anchor |
NEW-PATIENT-129 | Full exam, full digital x-rays, gum disease diagnosis, receding gum evaluation, cosmetic evaluation, implant consult | $474 value for $129 |
IMPLANT-CONSULT-129 | Full exam, complete x-rays, bone and gum evaluation, implants and alternatives, cost comparisons, take-home written plan | $474 value for $129 |
GUMS-129 | Full gum exam, complete x-rays, recession evaluation, gum disease diagnosis, options to save teeth, laser discussion | $474 value for $129 |
Verified against the live site. All three codes, both price points ($129 and the $474 value), the inclusion lists, and the terms (new patients only, not valid with dental insurance) were checked page by page against resslerdental.com/special-offers and match. Service-to-offer mapping is correct: implant pages use IMPLANT-CONSULT-129, gum pages use GUMS-129, everything else uses the general NEW-PATIENT-129. The emergency page correctly presents the general special after the emergency ("once the urgent problem is handled") rather than inventing an emergency-specific price. The site has none.
One wording nuance: our pages say "take-home written plan with itemized costs"; the site's own phrasing for the implant offer is "treatment cost comparisons." That is a fair representation, not a false claim, but flag it for the practice if strict verbatim parity is required.
Confirm before launch: the site shows a rolling "limited time only" with no fixed expiration date, and our pages match that. Confirm the current expiration with the practice.
Conversion paths on every page
| Path | Destination | Attribution |
| Multi-step eligibility form (primary) | 7-step qualification wizard on every page (anchor #lead-form), submits to GoHighLevel, then redirects to thank-you.html | Full UTMs and click IDs ride into GHL |
| Call (primary on emergency page and the mobile sticky bar) | tel:15614997400, swapped via CallRail dynamic number insertion at launch | Pending CallRail |
| "Schedule Online 24/7" (secondary, header + final band) | To be re-pointed to GHL. Currently app.nexhealth.com/appt/resslerdental | Broken: off-site handoff, no UTM or gclid passthrough |
Tracking and measurement, to implement
| Item | What's needed | Status |
| Google Tag Manager | Install the GTM container snippet in <head> plus the noscript body tag on all 10 landing pages and thank-you.html. Manage GA4, Google Ads, and CallRail through GTM rather than hard-coding each tag. Container ID needed. | Needed |
| Google Analytics 4 | GA4 property and measurement ID, deployed via GTM. Events: page_view, form_start, form_step (per wizard step, to find drop-off), generate_lead on thank-you.html, click_to_call, schedule_click. | Needed |
| Google Ads conversions | Primary conversion is generate_lead on thank-you.html. Import GA4 conversions or use a dedicated Ads tag. Enable enhanced conversions (the form supplies name, email, phone). Placeholder comment already sits in each page <head>. | Needed |
| CallRail | Dynamic number insertion script (swaps 561.499.7400 per source) plus call conversion import into Google Ads. Dakota has CallRail admin. Deploy via GTM. | Needed |
| Consent and privacy | Confirm whether a consent banner is required before tags fire (Google Consent Mode v2). Coordinate with the TCPA disclosure already on every form. | Confirm |
Sequencing note. Install GTM first, then deploy GA4, Ads, and CallRail through it. Otherwise every future tag change means re-editing 11 static HTML files by hand. All pages already capture and persist first-touch attribution in localStorage for 90 days, so GTM only needs to read it, not recreate it.
Hosting and DNS
| Item | Detail | Status |
| Hosting | Static folder; deploys anywhere. Cloudflare Pages per SGA convention. Must be served over https. The GHL form POST and the YouTube embeds both require a real origin (they fail on local file:// preview). | Not deployed |
| Domain / subdomain | Decide the public hostname (for example go.resslerdental.com or offers.resslerdental.com). A dedicated subdomain keeps paid traffic isolated from the main site's analytics and SEO. | Decide |
| DNS records | Add the CNAME for the chosen subdomain pointing at the Pages deployment, then validate TLS issuance. Requires access to the resslerdental.com DNS zone, so confirm who holds it (practice, 829, or current web vendor). | Needed |
| Redirects and noindex | Pages ship noindex, nofollow so paid pages never compete with the main site organically. Keep that on launch. | Done |
Lead capture form and CRM wiring
Every page carries the same multi-step form, built for the inbound-form-to-outbound-call sales workflow. Question order: 1) current condition (teeth status) 2) last dentist visit 3) desired outcome 4) payment plan interest 5) credit score range 6) household monthly income 7) first name, last name, email, phone with SMS/call consent disclosure, then redirect to the thank-you page.
| Item | Detail |
| CRM destination | GoHighLevel inbound webhook. Paste the workflow webhook URL into the GHL_WEBHOOK_URL constant in the script block at the bottom of each page (search for PASTE GHL INBOUND WEBHOOK URL HERE). Until set, the form runs in demo mode: full UX works, lead logged to browser console only. |
| Payload fields | first_name, last_name, email, phone, condition, last_dental_visit, desired_outcome, payment_plan, credit_score, monthly_income, service, offer_code, consent, consent_text, consent_timestamp, submitted_at, source |
| Attribution fields | utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, gbraid, wbraid, fbclid, msclkid, landing_url, page_url, referrer, captured first-touch and persisted in localStorage for 90 days, so a visitor who returns direct still carries the original click attribution |
| Consent | Disclosure above the submit button: info kept private, consent to SMS and calls with AI-assisted front desk follow-up, STOP to opt out, privacy policy link. Consent text and timestamp are stored on every lead for TCPA records. |
| Thank-you page | thank-you.html sets expectations (save 561.499.7400, we call to confirm eligibility, $129 visit reserved). UTMs and click IDs are carried on the URL; fire the Google Ads conversion and GA4 generate_lead event here. |
| Qualification data | Credit score, income, and payment plan answers ride into GHL for lead scoring and call prioritization; service and offer_code tell the front desk which campaign and offer to speak to. |
Creative, clinical and QA work completed (July 17 to 19)
| Area | What was done |
| Photo provenance | Byte-verified. A 20-filename sample was checked directly against the live server, and 20 of 20 return HTTP 200 from resslerdental.com (/images/ and /images2/). No stock or third-party files slipped in. Note: several implant "persona" shots (implantcouple, IMPLANTMAN, IMPLANTWOMAN) are authentic site assets but are likely licensed stock models rather than real patients, so they should not be captioned as patient results. |
| Hero imagery | 6 of 10 heroes replaced. Removed every clinical or procedure close-up from above the fold (a laser firing into gums, a masked dentist at a microscope, a disembodied mouth crop) plus weak stock (beer glasses and sunglasses, a low-res graphic with text baked in, a cold gloved-hand x-ray). All 10 heroes now lead with a face or a positive outcome, per healthcare CRO practice. |
| Trust badges | AAP (Active Member, American Academy of Periodontology, Specialist in Periodontics) and AACD (Member, American Academy of Cosmetic Dentistry) added to all 10 pages in a dedicated trust-bar band directly below the hero. |
| Clinical accuracy | Implant solution hierarchy corrected on dental-implants and all-on-4. The options grid previously ranked an "implant bridge" as the Premium tier above All-on-4/6, which is clinically backwards. It is now sequenced by tooth-loss scenario (single tooth, then a few teeth, then full arch removable, then full arch fixed), with full-arch fixed as the definitive solution. Basis: AAP patient guidance, ITI consensus (a minimum of four appropriately distributed implants for a one-piece full-arch fixed prosthesis), and meta-analyses (98.1% All-on-4 and 97.5% All-on-6 implant survival at 5+ years). Removed unfounded claims ("less bulky," "better access to clean under") because cleansability is driven by prosthetic design and material, not by bridge versus full arch. |
| Section imagery | Gum-disease education sections on laser-gum rebuilt: an unlabeled dark-navy stages graphic became a properly labeled 4-stage progression; a dark bone-loss image became a light captioned version; an off-palette red icon strip with text baked in became a portrait medical render that fills the column. On the cosmetic page, a yoga and fitness stock photo mislabeled "smile makeover patient" was replaced with Ressler's own Digital Smile Simulation before and after. |
| Team photo | On new-patient the 8-person team grid sat in the hero's 4:3.4 cover slot, which cropped off Dr. Ressler and Lisa. It was moved to the "Meet the Team" block where it renders complete, the hero was given a patient face, and an office-exterior photo that had been mislabeled as the team was corrected. |
| Video embeds | All 9 verified live and embeddable (playabilityStatus: OK, playableInEmbed: true). Errors seen in local preview are a file:// origin artifact, because YouTube refuses to play from a null origin. They will work once served over https. No videos were removed. |
Captured media library (assets/)
| Type | Count | Notes |
| Images | 313 | assets/images/ (126) and assets/images2/ (187): logos, team, office, before/after cases, diagrams, credential logos (AAP, AACD, Invisalign, CareCredit, chambers). Count includes duplicate %20-encoded filename variants. |
| Self-hosted videos | 9 | assets/video/: laser gum, perio deep clean, perio disease laser, CEREC crown, office loops (m4v/mov/mp4). Currently unused by the pages. |
| YouTube embeds | 9 unique / 14 placements | 7ASKw5SbXN4 pro arch implants · bp0YiD9qyIk single tooth implant · F3FSSYvICX0 laser gum treatment overview · 24H_yb7JCY0 conventional grafting vs Chao Pinhole · i2qeicPC1I8 ABC 7 LA · J45y7FUcC5c NBC 4 LA · O-JyikQufmA and ze4quVNB4Kk Invisalign · T9AC0968K7A practice video. All verified live. |
| Logos | 2 primary | RESSLER DENTAL LOGO 2020.png (light bg), RESSLER LOGO-LITE.png (dark bg) |
Two asset issues found. (1) assets/images2/cosmetic-dentist-delray2.jpeg is not an image. It is a saved HTML error page with a .jpeg extension. It is not referenced by any page, so nothing is broken; delete it during cleanup. (2) Ressler's own epidemic prevalence graphic reads "nearly half of people under 30," which contradicts the copy (and CDC data) of "nearly half of people over 30." The graphic was deliberately not used, and it is worth flagging to the practice.
Launch checklist
| Item | Status |
| Landing pages built (10) plus thank-you page | Done |
| Multi-step lead form and UTM/click-ID capture on all pages | Done, verified end-to-end in browser |
| Creative, clinical, offer and provenance QA | Done July 17 to 19, see section above |
| Offer accuracy vs. resslerdental.com | Verified: codes, prices, inclusions and terms all match |
| Dr. Ressler review and approval | Blocking: clinical accuracy, offers, photo usage rights, and claims. Nothing goes live without his sign-off |
| Re-point 22 scheduling CTAs from NexHealth to GHL | Blocking: need the GHL funnel/booking URL |
| GoHighLevel inbound webhook URL | Blocking: paste into GHL_WEBHOOK_URL on each page; the form is in demo mode until then |
| Google Tag Manager container | Needed: install first, then deploy the rest through it |
| GA4 property and measurement ID | Needed |
| Google Ads conversion tracking and enhanced conversions | Needed: primary conversion on thank-you.html |
| CallRail dynamic number swap and call conversion import | Needed: Dakota has CallRail admin |
| Hosting (Cloudflare Pages, https) | Not deployed |
| Subdomain decision, DNS CNAME, TLS validation | Needed: confirm who controls the DNS zone |
| Offer expiration dates | Confirm: site shows a rolling "limited time" with no fixed date |
| Consent language legal review | Confirm: draft TCPA-style disclosure on every form; confirm wording with compliance and 829 |
| 829 Studios review (Zeina) | Pending |
Prepared by SGA Dental Partners Growth Team | Confidential | Last updated July 19, 2026