Skip to report

Competitor intelligence dossier

Ben Luong

benluong.com

Ben Luong is a Technical Google Analytics 4 (GA4) and Google Ads Consultant based in Ireland. He combines Computer Science with marketing to fix tracking, ensure compliance, and provide clean data for AI-driven campaign optimization.

ObservedScanned 4 September 2026 at 16:14 UTCOpen sampled website ↗

The useful bits first

What the site appears to sell, how it converts visitors, what is measurable and where the evidence is incomplete.

Verified public adsNeeds verification
No verified match

No matching public ad was verified in the sampled libraries. This does not prove that no campaigns are running.

Show evidence
  • Bounded public ad-library checks; unmatched records were excluded
Measurement stackObserved
Meta Pixel, Microsoft UET and Google tag / GA4

5 public measurement or advertising signals were observed, including 1 legacy signal. Presence does not prove configuration quality or report receipt.

Show evidence
  • Meta Pixel observed
  • Microsoft UET observed
  • Google tag / GA4 observed
  • Universal Analytics (legacy) observed
Platform and edgeObserved
WordPress · Cloudflare

Cloudflare was observed at the public edge and WordPress was fingerprinted as the site platform. The origin host may remain hidden.

Show evidence
  • WordPress: CMS
  • Cloudflare: CDN and WAF
Backlink authorityObserved
DR 23

Ahrefs Domain Rating is a logarithmic backlink-strength metric. It is not a traffic estimate or a search-position score.

Show evidence
PerformanceNeeds verification
98 mobile lab

Mobile lab scored 98 out of 100. Response-time samples conflict: the bounded page fetch took 6.6 s, while the Lighthouse server-response audit reported 243 ms. Verify region and cache state before treating latency as a fault. No eligible public CrUX field sample was available; that is not a failed Core Web Vitals result.

Show evidence
  • Mobile lab: 98/100
  • Lighthouse server response: 243 ms
  • Bounded scanner page fetch: 6.6 s

What they appear to be doing

A cautious interpretation of the public positioning, offers, proof, conversion routes, acquisition signals and content footprint.

Conversion routesObserved

Website form was observed, alongside a booking or contact route. Submission handling and conversion firing were not tested.

Show evidence
  • Public forms with 29 distinct field names
  • Booking/contact route or booking service observed
AcquisitionInferred

Meta, Microsoft Advertising, Google and Google Analytics measurement or advertising technology is present. This suggests channel instrumentation, but does not prove that campaigns are active.

Show evidence
  • Meta Pixel observed
  • Microsoft UET observed
  • Google tag / GA4 observed
  • Universal Analytics (legacy) observed

Next moves worth making

Up to five practical actions, deduplicated and ordered by likely impact. Open each one for the evidence and verification path.

  1. Remove or justify legacy Universal Analytics code

    high impactObserved

    Confirm whether the legacy bootstrap is still needed and remove it if not.

    Show evidence and next steps

    Why it matters: Retired measurement code can add requests and create misleading expectations without a supported destination.

    What we found:
    • Universal Analytics code · published Google Tag Manager container on / · view sampled page
    • Universal Analytics code · published Google Tag Manager container on /contact/ · view sampled page

    How to verify: Rescan the published page and container after removal.

    Confidence: highSuggested owner: MarketerEstimated effort: hours

  2. Verify that captured attribution reaches the CRM

    high impactNeeds verification

    Submit an authorised test lead, confirm the fields are stored on the receiving record, and verify any eligible outcome upload.

    Show evidence and next steps

    Why it matters: Retaining attribution through to qualified outcomes can improve campaign optimisation and reporting.

    What we found:
    • Observed public fields: cf7atr_click_id and cf7atr_click_id_type

    How to verify: Trace one authorised test click and lead from landing page to the receiving system.

    Confidence: verifySuggested owner: MarketerEstimated effort: hours

  3. Tighten the homepage meta description

    medium impactObserved

    Write a concise description for search and social previews.

    Show evidence and next steps

    Why it matters: Meta description helps people and search systems understand the page before visiting.

    What we found:
    • Meta description: Ben Luong is a Technical Google Analytics 4 (GA4) and Google Ads Consultant based in Ireland. He combines Computer Science with marketing to fix tracking, ensure compliance, and pr

    How to verify: Inspect the rendered head and a search preview.

    Confidence: highSuggested owner: SEOEstimated effort: minutes

  4. Add the missing security response headers

    medium impactObserved

    Test and add Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, frame-embedding protection, Permissions-Policy and Referrer-Policy as appropriate. Roll out CSP in report-only mode first if the site has many third-party integrations.

    Show evidence and next steps

    Why it matters: CSP can limit the impact of injected content.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  5. Verify response time across regions

    medium impactNeeds verification

    Repeat first-byte measurements from multiple regions with warm and cold caches before prioritising server work.

    Show evidence and next steps

    Why it matters: A single slow remote fetch may reflect route, cache or temporary origin conditions rather than a consistent visitor experience.

    What we found:
    • Mobile lab: 98/100
    • Lighthouse server response: 243 ms
    • Bounded scanner page fetch: 6.6 s

    How to verify: Compare repeated TTFB measurements with real-user monitoring and edge-cache status.

    Confidence: verifySuggested owner: DeveloperEstimated effort: days

Performance with honest limits

Lighthouse is a one-off lab test. CrUX is 28-day real-user data and may be unavailable on lower-traffic sites.

98 mobile lab

Mobile lab scored 98 out of 100. Response-time samples conflict: the bounded page fetch took 6.6 s, while the Lighthouse server-response audit reported 243 ms. Verify region and cache state before treating latency as a fault. No eligible public CrUX field sample was available; that is not a failed Core Web Vitals result.

Mobile lab 98 / 100

Controlled Lighthouse lab result.

  • LCP1.9 s
  • CLS0
  • TBT10 ms
  • FCP1.8 s
Desktop lab No result

PageSpeed Insights could not complete this Lighthouse test.

Real-user Core Web Vitals

No eligible public 28-day CrUX sample was returned for phone or desktop.

Needs verification
Open full Lighthouse and Core Web Vitals evidence

Performance and Core Web Vitals

Core Web Vitals are LCP, INP and CLS measured from real users at the 75th percentile. Lighthouse is a synthetic test: it can diagnose LCP and CLS, while TBT is only a laboratory proxy for responsiveness and is not INP.

Current read

No public real-user verdict is available. The mobile Lighthouse lab test scored 98/100, which is useful for diagnosis but cannot prove how real visitors experience the site.

Lighthouse lab diagnostics

Synthetic lab test

Mobile Lighthouse

Good
98/ 100

A one-off Lighthouse diagnostic. A score of 90 or higher is considered good, but it is not a real-user Core Web Vitals verdict.

LCP1.9 sGood
CLS0Good
TBT10 msGood · lab proxy, not INP
FCP1.8 sNeeds improvement
Speed Index3.0 sGood
Show mobile Lighthouse diagnostics and fixes
  • Reduce unused CSS

    Remove unused styles, split page-specific CSS and load non-critical styles after the first render. Estimated lab saving: up to 560 ms · 90.9 KB.

Source: Google PageSpeed Insights / Lighthouse · Profile: mobile · Tested: 4 September 2026 at 16:14 UTC · Lighthouse 13.4.1 · tested page

Synthetic lab test

Desktop Lighthouse

Test did not finish
No result

PageSpeed Insights could not complete this Lighthouse test.

Why the desktop Lighthouse test has no score

PageSpeed Insights could not complete this Lighthouse test.

Source: Google PageSpeed Insights / Lighthouse · Profile: desktop

Real-user Core Web Vitals

Real users · rolling 28 days

Mobile real-user Core Web Vitals

Not measured
No public sample

CrUX found no eligible mobile record for either the exact URL or the whole origin. This usually means there is not enough eligible public Chrome traffic for publication; it is not a failed performance score.

Why mobile CrUX is unavailable

Use the Lighthouse lab result for today’s diagnosis. For a site you own, Search Console may show grouped CrUX data for the verified property. First-party real-user monitoring is the independent fallback when public data is absent.

Source: Chrome UX Report API · Exact URL and origin fallback checked · CrUX eligibility methodology

Real users · rolling 28 days

Desktop real-user Core Web Vitals

Not measured
No public sample

CrUX found no eligible desktop record for either the exact URL or the whole origin. This usually means there is not enough eligible public Chrome traffic for publication; it is not a failed performance score.

Why desktop CrUX is unavailable

Use the Lighthouse lab result for today’s diagnosis. For a site you own, Search Console may show grouped CrUX data for the verified property. First-party real-user monitoring is the independent fallback when public data is absent.

Source: Chrome UX Report API · Exact URL and origin fallback checked · CrUX eligibility methodology

What to fix or verify

  • Mobile: Reduce unused CSS

    Remove unused styles, split page-specific CSS and load non-critical styles after the first render. Estimated lab saving: up to 560 ms · 90.9 KB.

  • Desktop: rerun the Lighthouse test

    PageSpeed Insights could not complete this Lighthouse test. This is not a poor score.

  • Verify real-user experience on owned sites

    Search Console may show grouped CrUX data for a verified property. If it does not, install privacy-conscious first-party real-user monitoring; INP cannot be judged from Lighthouse alone.

SEO baseline100Google Lighthouse mobile
Accessibility baseline97Google Lighthouse mobile · manual follow-up still required

Technical evidence

The supporting stack, measurement, infrastructure, reputation and raw collection modules. Kept compact until you need it.

Technology fingerprints8

Meta Pixel · Universal Event Tracking · Google tag, GA4, Ads or Floodlight · Cloudflare · WordPress

Measurement signals5

Meta Pixel · Microsoft UET · Google tag / GA4 · Universal Analytics (legacy) · Google Tag Manager

Hosting / edgeCloudflare

Cloudflare was observed at the edge. The origin hosting provider may be hidden behind it.

Open stack, registration and safety evidence

Technology and measurement fingerprints

Meta Pixel · AdvertisingUniversal Event Tracking · AdvertisingGoogle tag, GA4, Ads or Floodlight · Analytics and dataCloudflare · CDN and edgeWordPress · CMSjQuery · JavaScript libraryUniversal Analytics code · Legacy technologyContainer bootstrap · Tag management

Hosting, registration and authority

Hosting or edge
Cloudflare
Registered domain
benluong.com
Registrar
PDR Ltd. d/b/a PublicDomainRegistry.com (303)
Registered
8 March 2012 at 14:06 UTC
Expires
8 March 2029 at 14:06 UTC
Domain Rating · Domain Rating by Ahrefs
23 / 100

Reputation check

Google Web Risk
No current Google Web Risk match

No match is not a safety guarantee. Investigate any warning independently.

Open all evidence modules and methodology

Evidence and key metrics

Open any card to inspect the public evidence, source and collection details.

Public page and headers

2pages fetched

373.6 KB of public HTML inspected

Show evidence

HTTP 200 · 221.9 KB · 6.6 s · view sampled page

HTTP 200 · 151.7 KB · 10 ms · view sampled page

Source: Direct fetch · Collected in 6.6 s

Rendered browser and network

2pages rendered

354 browser requests observed before interaction

Show evidence

HTTP 200 · 137 requests · 16 third-party hosts · view sampled page

HTTP 200 · 217 requests · 13 third-party hosts · view sampled page

Fresh browser context; no forms or logins submitted

Source: Hardened Chromium provider · Collected in 8.8 s

Technology fingerprinting

8technologies

Meta Pixel · Universal Event Tracking · Google tag, GA4, Ads or Floodlight

Show evidence

Meta Pixel · Advertising · 100% confidence

Universal Event Tracking · Advertising · 100% confidence

Google tag, GA4, Ads or Floodlight · Analytics and data · 100% confidence

Cloudflare · CDN and edge · 100% confidence

WordPress · CMS · 95% confidence

jQuery · JavaScript library · 95% confidence

Universal Analytics code · Legacy technology · 100% confidence

Container bootstrap · Tag management · 100% confidence

Source: First-party signatures and public container evidence

DNS and email records

8DNS records

1 address · 2 nameservers · 1 mail routes

Show evidence

Domain: benluong.com

A: 1 record

NS: 2 records

MX: 1 record

TXT: 3 records

SOA: 1 record

Email policy: SPF present · DMARC not observed

Source: DNS over HTTPS · Collected in 174 ms

WHOIS / registration

benluong.com14.5 years old

Registration currently expires 8 Mar 2029

Show evidence

Registrar: PDR Ltd. d/b/a PublicDomainRegistry.com (303)

Registered: 8 Mar 2012

Expires: 8 Mar 2029

Nameservers: jon.quicns.net, kevin.quicns.cloud

Registry RDAP via the IANA bootstrap · https://rdap.verisign.com/com/v1/domain/benluong.com

Source: Registry RDAP via the IANA bootstrap

IP allocation and hosting

CloudflareCDN and WAF

135.125.104.145 · FR

Show evidence

Network allocation: SD-GRA2-G265-FAT-MAGGIE-SDAGG63-1

Address: 135.125.104.145

Registry country: FR

Edge detection confidence: high

Cloudflare was observed at the edge. The origin hosting provider may be hidden behind it.

Source: IP RDAP · Collected in 5.6 s

Lighthouse and Core Web Vitals

98/ 100

Mobile Lighthouse performance

Show evidence

FCP: 1.8 s

LCP: 1.9 s

CLS: 0

TBT: 10 ms

Mobile real-user Core Web Vitals: no public CrUX sample; this is not a failed score

Desktop real-user Core Web Vitals: no public CrUX sample; this is not a failed score

Top lab opportunity: Reduce unused CSS · up to 560 ms · 90.9 KB

Source: Google PSI and CrUX · Coverage: Partial coverage · Collected in 37.2 s

Google Web Risk

0threat matches

No current Google Web Risk match

Show evidence

Google Web Risk: no current match

Reputation data is a provider snapshot, not a warranty that a site is safe. Timestamps and coverage matter.

Source: Google Web Risk · Coverage: Partial coverage · Collected in 111 ms

Backlink authority

23/ 100

Backlink profile strength on a logarithmic 0-100 scale. It is not a Google ranking or traffic metric.

Show evidence

Target domain: benluong.com

Domain Rating by Ahrefs · https://ahrefs.com/

Scale: 0–100 · logarithmic

Source: Domain Rating by Ahrefs · Collected in 115 ms

XML sitemap sample

3child sitemaps

XML index · 661 B

Show evidence

Default sitemap · 661 B · view sampled page

Document type: index

Entries in bounded sample: 3

Source: Direct public fetch

security.txt

Not found

No file returned from the standard public location

Show evidence

Checked /.well-known/security.txt · view sampled page

Absence is informational and is not a vulnerability by itself

Source: Direct public fetch · Coverage: Not found

Scoring and action plan

85/ 100

11 priority findings · 85% scored evidence coverage

Show evidence

Deterministic ruleset 0.1.0

Report generated: 4 September 2026 at 16:14 UTC

Rules produced 11 prioritised findings

Source: Deterministic ruleset 0.1.0

All corrected findings

  • Verify response time across regions and cache statesmedium

    One bounded scanner fetch took 6.6 s, while the Lighthouse server-response audit reported 243 ms. These samples conflict.

    Suggested fix: Repeat first-byte measurements from multiple regions with warm and cold caches before prioritising server work.

    Show evidence and next steps

    Why it matters: A single slow remote fetch may reflect route, cache or temporary origin conditions rather than a consistent visitor experience.

    What we found:
    • Mobile lab: 98/100
    • Lighthouse server response: 243 ms
    • Bounded scanner page fetch: 6.6 s

    How to verify: Compare repeated TTFB measurements with real-user monitoring and edge-cache status.

    Confidence: verifySuggested owner: DeveloperEstimated effort: days

  • Legacy tracking technology observedhigh

    Universal Analytics code

    Suggested fix: Confirm whether the legacy bootstrap is still needed and remove it if not.

    Show evidence and next steps

    Why it matters: Retired measurement code can add requests and create misleading expectations without a supported destination.

    What we found:
    • Universal Analytics code · published Google Tag Manager container on / · view sampled page
    • Universal Analytics code · published Google Tag Manager container on /contact/ · view sampled page

    How to verify: Rescan the published page and container after removal.

    Confidence: observedSuggested owner: MarketerEstimated effort: hours

  • Content Security Policy not observedmedium

    The header was absent from the sampled final HTML response.

    Suggested fix: Add a tested Content-Security-Policy. Start in report-only mode if necessary.

    Show evidence and next steps

    Why it matters: CSP can limit the impact of injected content.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  • Click attribution fields are present; downstream use needs verificationinfo

    Public form markup includes cf7atr_click_id and cf7atr_click_id_type and 10 UTM or referrer fields. The public scan cannot confirm that submitted values reach the CRM or advertising platforms.

    Suggested fix: Submit an authorised test lead, confirm the fields are stored on the receiving record, and verify any eligible outcome upload.

    Show evidence and next steps

    Why it matters: Retaining attribution through to qualified outcomes can improve campaign optimisation and reporting.

    What we found:
    • Observed public fields: cf7atr_click_id and cf7atr_click_id_type

    How to verify: Trace one authorised test click and lead from landing page to the receiving system.

    Confidence: verifySuggested owner: MarketerEstimated effort: hours

  • Strict-Transport-Security not observedmedium

    The header was absent from the sampled final HTML response.

    Suggested fix: Add a suitable Strict-Transport-Security policy after confirming every subdomain is HTTPS-ready.

    Show evidence and next steps

    Why it matters: HSTS tells supporting browsers to keep using HTTPS.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  • Meta description is 233 charactersmedium

    Ben Luong is a Technical Google Analytics 4 (GA4) and Google Ads Consultant based in Ireland. He combines Computer Science with marketing to fix tracking, ensure compliance, and provide clean data for AI-driven campaign optimization.

    Suggested fix: Write a concise description for search and social previews.

    Show evidence and next steps

    Why it matters: Meta description helps people and search systems understand the page before visiting.

    What we found:
    • Meta description: Ben Luong is a Technical Google Analytics 4 (GA4) and Google Ads Consultant based in Ireland. He combines Computer Science with marketing to fix tracking, ensure compliance, and pr

    How to verify: Inspect the rendered head and a search preview.

    Confidence: observedSuggested owner: SEOEstimated effort: minutes

  • MIME sniffing protection not observedmedium

    The header was absent from the sampled final HTML response.

    Suggested fix: Set X-Content-Type-Options: nosniff.

    Show evidence and next steps

    Why it matters: X-Content-Type-Options reduces MIME confusion.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  • No frame-embedding restriction was observedmedium

    No frame-embedding restriction was observed

    Suggested fix: Set CSP frame-ancestors or X-Frame-Options where legacy support is needed.

    Show evidence and next steps

    Why it matters: Clickjacking protection reduces unwanted framing.

    What we found:
    • HTTP response headers

    How to verify: Repeat the same public check after the change.

    Confidence: observedSuggested owner: DeveloperEstimated effort: minutes

  • Permissions policy not observedmedium

    The header was absent from the sampled final HTML response.

    Suggested fix: Set a restrictive Permissions-Policy for unused browser capabilities.

    Show evidence and next steps

    Why it matters: Permissions-Policy limits access to powerful browser features.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  • Referrer policy not observedmedium

    The header was absent from the sampled final HTML response.

    Suggested fix: Set an explicit Referrer-Policy appropriate to the site.

    Show evidence and next steps

    Why it matters: A referrer policy limits URL information sent to other origins.

    What we found:
    • Final HTTP response headers

    How to verify: Inspect the final response headers after deployment.

    Confidence: observedSuggested owner: DeveloperEstimated effort: hours

  • No DNSSEC DS record observedlow

    No DS record was returned. This does not test every resolver or validate the complete chain.

    Suggested fix: Consider enabling DNSSEC with coordinated registrar and DNS-provider configuration.

    Show evidence and next steps

    Why it matters: DNSSEC can provide origin authentication for DNS answers when the validation chain is correct.

    What we found:
    • DS query through DNS over HTTPS

    How to verify: Validate the complete chain with an independent DNSSEC tool.

    Confidence: inferredSuggested owner: ITEstimated effort: hours

Methodology and limitations

Bounded analysis of publicly accessible pages, DNS, registries and configured providers. No login, form submission, port scan or exploit testing.

  • The report is a bounded public sample, not a complete crawl, account audit, accessibility certification, legal compliance review or penetration test.
  • Technology and hosting detections are confidence-ranked fingerprints. They do not prove ownership, configuration quality, exact version or vulnerability.
  • A browser request shows that the page attempted a destination. It does not prove storage, reporting, attribution or use by an advertising algorithm.
  • The public scanner does not log in, submit forms, complete checkout, download files, scan ports or test exploits.