Skip to content
growth auditor
Book

Teardown / AI phone and SMS for sales and support

JustCall by SaaS Labs growth teardown: 85/100

JustCall by SaaS Labs scores 85/100 on our Level 0 Growth Scan. The homepage has no JSON-LD, and GA4 sends storage-denied hits until a visitor clicks Accept.

justcall.io / Oct 28, 2026

85/100

Growth Score

  1. 01Add Organization and WebSite JSON-LD to the homepage, and Organization to every page template. Effort: 2 hours.
  2. 02Map OneTrust cookie groups to Consent Mode defaults so GA4 and both Google Ads tags carry the same consent state from the first hit. Effort: 1 day.
  3. 03Use one current figure for the G2 badge's visible review count and its aria-label. Effort: 30 min.
VISACQCNVRETMSR

Growth Score

85/100

Visibility
86
Acquisition
Not scanned
Conversion
Not scanned
Retention
Not scanned
Measurement
83

Measurement is the weak pillar at 83. Overall pass.

JustCall scores 85/100 on our Level 0 Growth Scan, run on 28 Oct 2026. Measurement is the weaker of the two scanned pillars at 83. The single biggest fix is the one Fail: the homepage ships zero JSON-LD blocks, so engines get no machine-readable statement of who JustCall is. That takes about 2 hours.

JustCall is the AI phone and SMS platform for sales and support teams, built by SaaS Labs. SaaS Labs raised a $17M Series A from Base10 Partners and Eight Roads in October 2021 (source). JustCall is not a client. Everything below is visible to any visitor.

Method

We ran the Level 0 Growth Scan on justcall.io on 28 Oct 2026. Level 0 reads only the public footprint: the homepage HTML, robots.txt, llms.txt, the sitemap and DNS. We had no account access.

  • Scored: Visibility (Agent Readiness, SEO Technical) and Measurement (Tracking and Tag Health, Email Authentication). Content and Entity and Tech Stack returned no scored checks, so they do not count.
  • Not scanned: Acquisition, Conversion and Retention. They show as “Not scanned” and are left out of the Growth Score, which is the mean of the two scanned pillars (86 and 83, rounded to 85).
  • Not run: AI Visibility prompts. This teardown makes no claim about what ChatGPT, Claude, Gemini or Perplexity say about JustCall.
  • Site crawl: not run. Title and description checks cover the homepage only.

Our Tag Health module reads raw HTML and is in beta, so we verified every tag in a real browser. We loaded the homepage in headless Chromium (Playwright) at 1440 by 900 and 390 by 844, from a US IP, eight times, with and without a mouse move and with one click on the cookie banner. We checked DNS records over DNS over HTTPS. Consent behavior can change by visitor location. What we report about consent comes from those US sessions only.

Visibility: 86, Pass

Agent Readiness scored 86.7 and SEO Technical 85. Most of the basics are in place:

  • All 9 AI crawlers we check may fetch /, including GPTBot, ClaudeBot and PerplexityBot.
  • robots.txt returns 200 and lists a sitemap index that returns valid XML.
  • The homepage is indexable, has a self-referencing canonical and one H1: “One platform for every call, text, and follow-up”.
  • http://, https://www. and https:// all land on https://justcall.io/.
  • The H1, hero copy and trial form are in the raw HTML, so crawlers that skip JavaScript still read them.

Two Warns and one Fail hold the score down. The title, “JustCall: AI Communication Platform for Sales & Support Teams”, is 61 characters against a 30 to 60 target. The meta description is 186 characters against 120 to 160. The Fail is JSON-LD, covered in Finding 1.

Measurement: 83, Pass

Email Authentication scored 100 and Tag Health 68.8. DMARC is p=quarantine at pct=100 with a reporting address. SPF ends in ~all. DKIM keys answer at four selectors (google, k1, s1, default), and a BIMI record points to a DigiCert certificate.

The scanner warned that it could not see an analytics tag in the raw HTML. In the browser, GA4 does run: property G-7F0B846G11 loads through GTM container GTM-W5PJTHN. A script in the homepage HTML holds GTM back until the first scroll, mouse move or touch, or 15 seconds on desktop. In our idle desktop session, GTM loaded at 20.3 seconds and the first GA4 page_view followed at 21.6 seconds. With a mouse move, GA4 fired at 7.8 seconds. A visitor who leaves before any interaction and before the timer never reaches GA4.

We also saw Microsoft Clarity, HubSpot, Intercom, LinkedIn Insight, VWO, Reddit and CustomerLabs scripts. The homepage made requests to 48 hostnames outside JustCall’s own domains within 20 seconds, in each of two runs. Findings 2 and 3 cover how those tags are loaded and what consent state they carry.

Finding 1. Fail: No JSON-LD on the homepage, no Organization anywhere we looked

What we checked. JSON-LD on the homepage, /pricing/, three product pages and one comparison page.

Evidence. View the source of justcall.io and search for ld+json. There are 0 matches. The other five pages do carry JSON-LD, but only FAQPage and BreadcrumbList:

Page JSON-LD types
/ none
/pricing/ FAQPage (11 questions), BreadcrumbList
/product/auto-dialer/ FAQPage (24 questions), BreadcrumbList
/product/ai-voice-agent/ FAQPage (29 questions)
/product/bulk-sms-and-mms/ FAQPage (17 questions)
/hub/compare/aircall-vs-justcall/ FAQPage

None of the 6 pages declares Organization or SoftwareApplication.

Why it matters. Organization JSON-LD is where a site states its name, logo, parent company and official profiles in one place. Without it, engines have to infer that JustCall, justcall.io, SaaS Labs and the G2 listing are the same entity. The spec scores a missing block as a Fail at severity 2.

Fix. Add Organization (name, url, logo, parentOrganization SaaS Labs, sameAs with at least two profiles) and WebSite JSON-LD to the homepage. Then add Organization to the shared template. Effort: 2 hours.

Finding 2. Warn: GA4 sends storage-denied hits until a visitor clicks Accept

What we checked. The consent parameters on GA4 and Google Ads requests, before and after a click on the OneTrust banner.

Evidence. In our US sessions, before any click, OneTrust reported all four cookie groups active (OnetrustActiveGroups = ,C0001,C0003,C0002,C0004,) and the banner stayed on screen. At the same time:

  • GA4 G-7F0B846G11 sent its page_view with gcs=G100 and gcd=13p3p3p3p5l1. That means ad_storage, analytics_storage, ad_user_data and ad_personalization were all denied by default, with no update.
  • Google Ads AW-449550297, which loads outside GTM, sent gcd=13l3l3l3l1l1. That means no Consent Mode signal was set at all.
  • After “Accept All Cookies”, the next GA4 hit carried gcs=G111, granted, within the same second.

To check this yourself, open DevTools, filter the Network tab for g/collect, load justcall.io and move the mouse. Read the gcs and gcd values. Results from other countries may differ.

Why it matters. A storage-denied GA4 hit sets no _ga cookie, so GA4 cannot connect that visit to a later one. In the two sessions where we logged consent values, all 4 GA4 hits before the click were denied, while the consent tool treated the visitor as opted in. The same page also sends Google two different consent states from two Google tags. The OneTrust script on the page loads with a domain-script ID ending in -test.

Fix. Set Consent Mode defaults per region from OneTrust’s groups inside GTM, run the CustomerLabs Google Ads tag on the same consent state, and confirm the production OneTrust script ID is the one deployed. Effort: 1 day.

We make no legal assessment here. This finding is about data quality.

Finding 3. Warn: Ad tags load through three loaders, with two Google Ads IDs and three Meta Pixel IDs

What we checked. Which script requested each ad and analytics tag, using the browser’s request initiator.

Evidence. Filter the Network tab for gtag/js and you will see three IDs on one homepage load. We traced who requested each tag:

Tag Requested by
Google Ads AW-449550297 and Meta fbevents.js CustomerLabs (cdn.js.customerlabs.co)
LinkedIn Insight (partner 573675) and a Meta Pixel config HubSpot ads pixel (js-na2.hsadspixel.net)
GA4 G-7F0B846G11 and Google Ads AW-2345718846 GTM GTM-W5PJTHN

Meta loaded configurations for three pixel IDs in each of three runs: 691663171003251, 1775624680386438 and 755215351571887. In our mobile run, all three sent hits to facebook.com/tr. The first ID is also named in the page HTML as a noscript fallback.

Why it matters. Each loader needs its own consent wiring, which is how the split in Finding 2 happens. Two IDs for the same platform can be deliberate, for example separate ad accounts. They can also count one conversion twice. We cannot tell which from outside, and neither can anyone auditing the account without a list.

Fix. Keep one loader per ad platform, preferably GTM, and write down which Google Ads and Meta Pixel IDs are meant to run and why. Effort: 1 week.

What JustCall does well

  • AI crawler access and llms.txt. All 9 AI crawlers we check are allowed. /llms.txt returns 200 as plain text: 663,470 bytes, an H1, 2,687 links in 15 named sections plus an Optional section, last modified 18 Aug 2026.
  • Email authentication. A score of 100. DMARC at p=quarantine and pct=100, DKIM at four selectors and a BIMI record with a verified mark certificate is a complete setup.
  • FAQ schema where buyers compare. Pricing and the three product pages we checked carry 11 to 29 FAQ questions each as FAQPage JSON-LD. The homepage links to 8 head-to-head comparison pages, such as Aircall vs JustCall and Dialpad vs JustCall.
  • A short desktop trial form with terms in view. Above the fold on desktop: one field, “Work email address”, a “Start Free Trial” button, and two lines of microcopy, “No credit card required” and “14 days of JustCall AI on us”. A G2 badge sits directly above the H1.

If we were fixing this

  1. Add Organization and WebSite JSON-LD to the homepage, and Organization to every page template. Effort: 2 hours.
  2. Map OneTrust cookie groups to Consent Mode defaults so GA4 and both Google Ads tags carry the same consent state from the first hit. Effort: 1 day.
  3. Make the G2 badge’s visible count match its own label. The badge reads “OVER 1,450+” on screen, while its aria-label says “Over 2,230 reviews on G2”. Use one current figure. Effort: 30 min.
  4. Bring the homepage title to 60 characters and the meta description to 160, then check the rest of the site. Effort: 1 day.
  5. Pick one loader per ad platform and document which Google Ads and Meta Pixel IDs should run. Effort: 1 week.

We did not score Conversion, but one thing is worth a look when it is: on a 390 by 844 screen, the hero shows “Book a Demo” and no trial form, while desktop leads with “Start Free Trial”.

FAQ

Why is the Growth Score 85 when three pillars say “Not scanned”? The Growth Score is the mean of the pillars we scanned. Visibility scored 86 and Measurement 83, which rounds to 85. Pillars we did not scan are left out, never counted as zero.

Does JustCall run GA4? Yes. Property G-7F0B846G11 loads through GTM after the first scroll, mouse move or touch, or after 15 seconds on desktop. Our raw-HTML scanner could not see it, which is why we verify tags in a browser before publishing.

Is Finding 2 a legal finding about consent? No. We report the consent signals we observed from a US IP on 28 Oct 2026 and what they mean for analytics data. We make no claim about compliance in any country.

Run the same Growth Scan on your own domain at growthauditor.ai/scan.