{
  "captureDate": "2026-09-12T15:21:35.252Z",
  "study": {
    "slug": "med-spa-conversion-features",
    "question": "Which trust and conversion features do med spas ranking in the Google Maps top 20 actually have on their websites: online booking, live chat, financing, review schema, a real blog?",
    "lane": "maps"
  },
  "sample": {
    "markets": 22,
    "serpCalls": 0,
    "resultsSeen": 440,
    "excluded": 31,
    "excludedReasons": [
      [
        "listed under \"Day spa\", not the kind of business this study measures",
        10
      ],
      [
        "listed under \"Spa\", not the kind of business this study measures",
        9
      ],
      [
        "listed under \"Massage spa\", not the kind of business this study measures",
        2
      ],
      [
        "listed under \"Health spa\", not the kind of business this study measures",
        2
      ],
      [
        "booking platform or storefront, not a website of the business",
        5
      ],
      [
        "no website",
        3
      ]
    ],
    "uniqueBusinesses": 409,
    "reachable": 384,
    "pageCountMeasured": 325,
    "pageCountMissing": 84
  },
  "distributions": {
    "rating": {
      "n": 408,
      "min": 3.9,
      "p25": 4.8,
      "median": 4.9,
      "p75": 5,
      "p90": 5,
      "max": 5,
      "mean": 4.87
    },
    "reviews": {
      "n": 408,
      "min": 1,
      "p25": 91,
      "median": 206,
      "p75": 421,
      "p90": 713,
      "max": 3702,
      "mean": 320.88
    },
    "pages": {
      "n": 325,
      "min": 1,
      "p25": 44,
      "median": 115,
      "p75": 281,
      "p90": 483,
      "max": 66419,
      "mean": 463.2
    },
    "blogPages": {
      "n": 325,
      "min": 0,
      "p25": 0,
      "median": 1,
      "p75": 14,
      "p90": 103,
      "max": 600,
      "mean": 30.68
    },
    "blogPosts12mo": {
      "n": 179,
      "min": 0,
      "p25": 0,
      "median": 1,
      "p75": 30,
      "p90": 98,
      "max": 600,
      "mean": 30.9
    },
    "mostRecentDays": {
      "n": 179,
      "min": 0,
      "p25": 14,
      "median": 66,
      "p75": 369,
      "p90": 856,
      "max": 4457,
      "mean": 296.07
    },
    "words": {
      "n": 358,
      "min": 87,
      "p25": 702,
      "median": 1166,
      "p75": 1707,
      "p90": 2484,
      "max": 9815,
      "mean": 1361.26
    },
    "bytes": {
      "n": 384,
      "min": 169,
      "p25": 170951,
      "median": 288388,
      "p75": 529886,
      "p90": 859377,
      "max": 8511087,
      "mean": 430716.65
    },
    "superlatives": {
      "n": 358,
      "min": 0,
      "p25": 1,
      "median": 4,
      "p75": 6,
      "p90": 11,
      "max": 58,
      "mean": 4.95
    },
    "numericClaims": {
      "n": 358,
      "min": 0,
      "p25": 0,
      "median": 0,
      "p75": 2,
      "p90": 3,
      "max": 28,
      "mean": 1.58
    }
  },
  "adoption": {
    "hasWebsite": {
      "yes": 409,
      "outOf": 409,
      "pct": 100
    },
    "hasPhone": {
      "yes": 408,
      "outOf": 409,
      "pct": 100
    },
    "isChain": {
      "yes": 36,
      "outOf": 409,
      "pct": 9
    },
    "textReadable": {
      "yes": 358,
      "outOf": 384,
      "pct": 93
    },
    "hasJsonLd": {
      "yes": 311,
      "outOf": 358,
      "pct": 87
    },
    "hasLocalBusinessSchema": {
      "yes": 132,
      "outOf": 358,
      "pct": 37
    },
    "hasReviewSchema": {
      "yes": 52,
      "outOf": 358,
      "pct": 15
    },
    "hasFaqSchema": {
      "yes": 28,
      "outOf": 358,
      "pct": 8
    },
    "hasCareersLink": {
      "yes": 96,
      "outOf": 358,
      "pct": 27
    },
    "hasBlogLink": {
      "yes": 216,
      "outOf": 358,
      "pct": 60
    },
    "hasPricingLink": {
      "yes": 38,
      "outOf": 358,
      "pct": 11
    },
    "hasFinancingMention": {
      "yes": 159,
      "outOf": 358,
      "pct": 44
    },
    "hasOnlineBooking": {
      "yes": 256,
      "outOf": 358,
      "pct": 72
    },
    "hasChatWidget": {
      "yes": 48,
      "outOf": 358,
      "pct": 13
    },
    "hasForm": {
      "yes": 217,
      "outOf": 358,
      "pct": 61
    },
    "mentionsEmergency": {
      "yes": 14,
      "outOf": 358,
      "pct": 4
    },
    "mentionsGuarantee": {
      "yes": 19,
      "outOf": 358,
      "pct": 5
    }
  },
  "correlations": {
    "rankVs_rating": {
      "n": 408,
      "rho": 0.052,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_reviews": {
      "n": 408,
      "rho": -0.209,
      "significant": true,
      "strength": "weak"
    },
    "rankVs_pages": {
      "n": 325,
      "rho": -0.062,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_blogPages": {
      "n": 325,
      "rho": -0.013,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_blogPosts12mo": {
      "n": 179,
      "rho": -0.005,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_mostRecentDays": {
      "n": 179,
      "rho": 0.042,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_words": {
      "n": 358,
      "rho": -0.019,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_bytes": {
      "n": 384,
      "rho": -0.038,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_superlatives": {
      "n": 358,
      "rho": -0.046,
      "significant": false,
      "strength": "no meaningful relationship"
    },
    "rankVs_numericClaims": {
      "n": 358,
      "rho": -0.111,
      "significant": true,
      "strength": "weak"
    },
    "ratingVs_reviews": {
      "n": 408,
      "rho": -0.159,
      "significant": true,
      "strength": "weak"
    },
    "pagesVs_reviews": {
      "n": 324,
      "rho": 0.343,
      "significant": true,
      "strength": "moderate"
    },
    "superlativesVs_numericClaims": {
      "n": 358,
      "rho": 0.292,
      "significant": true,
      "strength": "weak"
    }
  },
  "markets": {
    "perMarket": [
      {
        "market": "Orlando, Florida",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Nashville, Tennessee",
        "resultsSeen": 20,
        "excluded": 2,
        "kept": 18
      },
      {
        "market": "Kansas City, Missouri",
        "resultsSeen": 20,
        "excluded": 1,
        "kept": 19
      },
      {
        "market": "Sacramento, California",
        "resultsSeen": 20,
        "excluded": 1,
        "kept": 19
      },
      {
        "market": "San Diego, California",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Indianapolis, Indiana",
        "resultsSeen": 20,
        "excluded": 3,
        "kept": 17
      },
      {
        "market": "Las Vegas, Nevada",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Minneapolis, Minnesota",
        "resultsSeen": 20,
        "excluded": 6,
        "kept": 14
      },
      {
        "market": "Pittsburgh, Pennsylvania",
        "resultsSeen": 20,
        "excluded": 2,
        "kept": 18
      },
      {
        "market": "Raleigh, North Carolina",
        "resultsSeen": 20,
        "excluded": 3,
        "kept": 17
      },
      {
        "market": "Salt Lake City, Utah",
        "resultsSeen": 20,
        "excluded": 1,
        "kept": 19
      },
      {
        "market": "Austin, Texas",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Portland, Oregon",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Cincinnati, Ohio",
        "resultsSeen": 20,
        "excluded": 2,
        "kept": 18
      },
      {
        "market": "Milwaukee, Wisconsin",
        "resultsSeen": 20,
        "excluded": 2,
        "kept": 18
      },
      {
        "market": "Oklahoma City, Oklahoma",
        "resultsSeen": 20,
        "excluded": 1,
        "kept": 19
      },
      {
        "market": "Richmond, Virginia",
        "resultsSeen": 20,
        "excluded": 5,
        "kept": 15
      },
      {
        "market": "Phoenix, Arizona",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Dallas, Texas",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Houston, Texas",
        "resultsSeen": 20,
        "excluded": 2,
        "kept": 18
      },
      {
        "market": "Atlanta, Georgia",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      },
      {
        "market": "Charlotte, North Carolina",
        "resultsSeen": 20,
        "excluded": 0,
        "kept": 20
      }
    ],
    "keptPerMarket": {
      "n": 22,
      "min": 14,
      "p25": 18,
      "median": 19,
      "p75": 20,
      "p90": 20,
      "max": 20,
      "mean": 18.59
    },
    "excludedShareOfResults": 7,
    "marketsWhereExcludedTakeHalfOrMore": 0,
    "topExcludedHosts": [
      {
        "host": "locations.woodhousespas.com",
        "appearances": 3
      },
      {
        "host": "null",
        "appearances": 3
      },
      {
        "host": "greenhouseluxuryspa.com",
        "appearances": 1
      },
      {
        "host": "bohemiahealingspa.com",
        "appearances": 1
      },
      {
        "host": "massagemagictouch.com",
        "appearances": 1
      },
      {
        "host": "perfectbalancedayspa.net",
        "appearances": 1
      },
      {
        "host": "blackswanholisticheadspa.com",
        "appearances": 1
      },
      {
        "host": "emeraldcitydayspa.com",
        "appearances": 1
      },
      {
        "host": "watershedspa.com",
        "appearances": 1
      },
      {
        "host": "michelle-aesthetics.square.site",
        "appearances": 1
      },
      {
        "host": "mnsecretgardenspa.com",
        "appearances": 1
      },
      {
        "host": "tulaspa.com",
        "appearances": 1
      },
      {
        "host": "solastaspa.com",
        "appearances": 1
      },
      {
        "host": "spajema.com",
        "appearances": 1
      },
      {
        "host": "booking.mangomint.com",
        "appearances": 1
      }
    ]
  },
  "bands": [
    {
      "positions": "1-3",
      "n": 66,
      "rating": 4.9,
      "reviews": 377,
      "pages": 137,
      "blogPages": 1,
      "blogPosts12mo": 3,
      "mostRecentDays": 66,
      "words": 1211,
      "bytes": 354942,
      "superlatives": 4,
      "numericClaims": 1
    },
    {
      "positions": "4-7",
      "n": 86,
      "rating": 4.9,
      "reviews": 228,
      "pages": 108,
      "blogPages": 1,
      "blogPosts12mo": 1,
      "mostRecentDays": 65,
      "words": 1405,
      "bytes": 286903,
      "superlatives": 4,
      "numericClaims": 0
    },
    {
      "positions": "8-12",
      "n": 101,
      "rating": 4.9,
      "reviews": 194,
      "pages": 114,
      "blogPages": 1,
      "blogPosts12mo": 3,
      "mostRecentDays": 69,
      "words": 993,
      "bytes": 264744,
      "superlatives": 3,
      "numericClaims": 0
    },
    {
      "positions": "13-20",
      "n": 156,
      "rating": 4.9,
      "reviews": 167,
      "pages": 114,
      "blogPages": 1,
      "blogPosts12mo": 2,
      "mostRecentDays": 67,
      "words": 1197,
      "bytes": 299573,
      "superlatives": 4,
      "numericClaims": 0
    }
  ],
  "thresholds": {
    "reviews": {
      "n": 408,
      "shareBelow": {
        "50": 14,
        "100": 28,
        "200": 49,
        "300": 63,
        "500": 82,
        "1000": 95,
        "2000": 99
      }
    },
    "pages": {
      "n": 325,
      "shareBelow": {
        "10": 4,
        "25": 12,
        "50": 27,
        "100": 43,
        "200": 69,
        "500": 90
      }
    },
    "blogPages": {
      "n": 325,
      "shareBelow": {
        "1": 39,
        "5": 70,
        "10": 74,
        "25": 78,
        "50": 84
      }
    },
    "superlatives": {
      "n": 358,
      "shareBelow": {
        "1": 11,
        "3": 37,
        "5": 58
      }
    },
    "numericClaims": {
      "n": 358,
      "shareBelow": {
        "1": 56,
        "3": 87
      }
    },
    "rating": {
      "n": 408,
      "shareAtLeast": {
        "5": 33,
        "4.5": 98,
        "4.7": 94,
        "4.8": 86,
        "4.9": 66
      }
    }
  },
  "derived": {
    "blogLinkButEmpty": {
      "yes": 83,
      "outOf": 199
    },
    "superlativesWithoutNumbers": {
      "yes": 107,
      "outOf": 358
    },
    "chainLocations": {
      "yes": 36,
      "outOf": 409
    },
    "featureScore": {
      "features": [
        "hasOnlineBooking",
        "hasForm",
        "hasChatWidget",
        "hasFinancingMention",
        "hasPricingLink",
        "hasReviewSchema",
        "hasFaqSchema",
        "hasBlogLink"
      ],
      "n": 358,
      "distribution": {
        "n": 358,
        "min": 0,
        "p25": 2,
        "median": 3,
        "p75": 4,
        "p90": 5,
        "max": 7,
        "mean": 2.83
      },
      "countsByScore": {
        "0": 14,
        "1": 51,
        "2": 76,
        "3": 108,
        "4": 69,
        "5": 31,
        "6": 7,
        "7": 2,
        "8": 0
      },
      "shareWithAtLeast": {
        "1": 96,
        "2": 82,
        "3": 61,
        "4": 30,
        "5": 11,
        "6": 3,
        "7": 1,
        "8": 0
      }
    }
  },
  "contrast": {
    "rating": {
      "topMedian": 4.9,
      "topN": 66,
      "bottomMedian": 4.9,
      "bottomN": 118
    },
    "reviews": {
      "topMedian": 377,
      "topN": 66,
      "bottomMedian": 163,
      "bottomN": 118
    },
    "pages": {
      "topMedian": 137,
      "topN": 59,
      "bottomMedian": 115,
      "bottomN": 94
    },
    "blogPages": {
      "topMedian": 1,
      "topN": 59,
      "bottomMedian": 1,
      "bottomN": 94
    },
    "blogPosts12mo": {
      "topMedian": 3,
      "topN": 31,
      "bottomMedian": 1,
      "bottomN": 43
    },
    "mostRecentDays": {
      "topMedian": 66,
      "topN": 31,
      "bottomMedian": 72,
      "bottomN": 43
    },
    "words": {
      "topMedian": 1211,
      "topN": 62,
      "bottomMedian": 1192,
      "bottomN": 105
    },
    "bytes": {
      "topMedian": 354942,
      "topN": 65,
      "bottomMedian": 299573,
      "bottomN": 112
    },
    "superlatives": {
      "topMedian": 4,
      "topN": 62,
      "bottomMedian": 4,
      "bottomN": 105
    },
    "numericClaims": {
      "topMedian": 1,
      "topN": 62,
      "bottomMedian": 0,
      "bottomN": 105
    }
  },
  "limits": [
    "Results were captured once on 2026-09-12, from one location setting per market. Rankings vary by device, personalization and time.",
    "Rank is the position within this query only. It is not a measure of overall visibility.",
    "Page count comes from published sitemaps. Sites without a sitemap are reported as missing, never as zero.",
    "Blog volume counts sitemap URLs under a blog, news, article or resources path; sites publishing under other paths are undercounted.",
    "Recency uses the sitemap lastmod value, a modification date rather than strictly a publication date.",
    "Claim counts come from homepage text only and count phrases, not intent.",
    "Ratings and review counts are as displayed by Google Maps at capture time and can lag the business's actual reviews.",
    "Correlation is not causation. A relationship here describes what co-occurs among businesses that already rank, not what causes ranking.",
    "Businesses appearing in more than one market are counted once."
  ]
}