Conversion Rate Optimization Audit

SafeGear

safegear.at  ·  September 2026

Overview of Issues

SafeGear sells 215 certified security products — EN 1143-1 safes, pharmacy and firearms cabinets, vault doors, chemical storage — at ticket sizes from €359 to €6,577, with paid delivery (€80 curbside) and professional installation (€450–€530). This is a high-consideration, high-value, partly B2B catalogue, and the site's product-level execution is genuinely strong: spec-rich listings with EN 1143-1 / ECB•S / VdS certification badges, dual pricing (net + incl. VAT), a real accessory configurator with an "Ihre Auswahl" order summary, transparent delivery and installation costs, volume-pricing requests, product comparison, breadcrumbs, 10+ product FAQs, a working cart drawer with B2B order fields, and excellent long-form category copy. Desktop performance is near-perfect (98/100, LCP 1.0 s, CLS 0).

The problem is that almost none of that strength is visible at the moments that decide a sale. The homepage does not sell. Above the fold on a 1440×900 desktop there is no hero, no value proposition, no shop CTA and no product — the first content block is a grid of blog articles. Worse, the "Nach Kategorie einkaufen" (Shop by Category) section is fully built in the page but rendered with display:none, so the store's primary merchandising entry point is invisible. Across the entire homepage we counted zero product cards for a 215-product catalogue, and no best-sellers block.

Second, one of the five top-level navigation categories is a dead end. "Brandschutz" (fire protection) links to 13 sub-collections, of which 9 contain no products at all — Feuerlöscher, Wasserlöscher, CO2-Löscher, Pulverlöscher, Schaumlöscher, Halterungen, Feuerleitern, Löschdecken and Warnschilder all render four paragraphs of polished SEO copy followed by "Keine Produkte gefunden." Every click into that category, from navigation, SEO or paid traffic, ends in nothing.

Third, the path to purchase is buried and its safety net is broken. On the product page the price sits at 1,548 px and the Add-to-Cart button at 1,595 px — roughly 1.8 screens below the fold on desktop and 2.4 screens on mobile, on pages 7,478 px and 9,501 px tall. The theme does ship a sticky Add-to-Cart bar to solve exactly this, but it is rendered with opacity:0 and translated below the viewport, so it never appears at any scroll depth — Playwright itself refused to click it ("element is outside of the viewport"). The likely cause is that the theme scrolls a custom container (div.page-wrapper) instead of the document, so window-level scroll listeners never fire.

Fourth, there is no social proof and no way to follow up. We found zero reviews, zero star ratings and no review app of any kind (Judge.me, Yotpo, Stamped, Loox, Okendo, Trustpilot all absent) — on purchases where buyers must trust an insurance-grade certification claim. There is also no email capture anywhere on the site (zero email inputs), and no analytics or advertising tracking at all: no GA4, no GTM, no Meta Pixel, no Google Ads, no TikTok. The single custom Shopify web pixel installed is a no-op debug logger that only writes to the browser console and transmits nothing. In practice this means paid traffic cannot be measured or retargeted, and no abandoned-cart, browse-abandonment or review-request email is recovering revenue.

Finally, mobile speed lags badly behind desktop: LCP is 6.7 s on the homepage and 6.0 s on the product page against a 2.5 s target — 6× slower than the same pages on desktop, and mobile is where most Shopify traffic and Google's ranking signal live. The recommendations below are grouped by priority so the revenue-direct fixes — populating or hiding the empty category, restoring the category grid, surfacing price and Add-to-Cart, reviews, tracking and email — can ship first.

21
Critical Issues
28
Warnings
52
Done Right
215
Products Audited
Suggestions — Homepage
Homepage · Desktop 1440×900
1. Header & Navigation
Warning
SafeGear header and navigation
Current state — utility bar, header with search, and a 5-item main navigation.
Issues to Fix
⚠️ No announcement bar with delivery & returns terms

The top utility bar carries only a phone number, an email address and a "Hilfe" dropdown. For a catalogue where delivery costs €80, installation €450–€530 and lead time is 1–2 weeks, those terms are decisive purchase information — but a visitor only discovers them deep inside a product page. A slim announcement bar stating delivery, returns and lead time would answer the three biggest objections before the first scroll.

⏱ Estimated: 3 dev hours

⚠️ Austrian storefront shows a Danish phone number

Header, footer and contact page all show +45 36 96 43 53 — a Danish number — on a .at domain. The contact page lists entities in Denmark, Switzerland, Spain, France, Netherlands, Sweden and the USA, but no Austrian office or phone. For a €3,000–€6,500 safe that has to be delivered and anchored on site, Austrian buyers look for local presence; a foreign dialling code at the top of every page is measurable trust friction.

⏱ Estimated: 2 dev hours

What's Done Right
✅ Sticky header on scroll

The header stays fixed while scrolling, keeping search, account and cart reachable from anywhere — important on product pages that run 7,478 px long.

✅ Predictive search works

Verified live: typing "tresor" returned real product suggestions (Lyra 0, Seguro 10, "Epass" Codeschloss). With 215 products and 40+ collections, search is a primary navigation path and it functions correctly.

✅ Cart and account reachable from every page

A cart drawer trigger (aria-label="Warenkorb") and account icon sit in the persistent header, with the item-count badge updating on add.

✅ Clean, uncluttered mega-menu + language switcher

Five top-level categories (Tresore, Brandschutz, Sicherheitsspiegel, Einzelhandelssicherheit, Industrielle Glocken & Uhren) with logically grouped sub-collections — no category overload — plus a DE/EN switcher.

Homepage · Desktop 1440×900
2. Hero Section & CTA
Critical
SafeGear homepage above the fold
Current state — the entire first screen: no hero, no value proposition, no products. The first content block is a blog grid.
Issues to Fix
🔴 No hero section — no value proposition above the fold

On a 1440×900 viewport the first screen contains the utility bar, header, navigation and then immediately the blog grid "Ratgeber zur Auswahl eines Tresors". There is no headline explaining what SafeGear sells or why to buy here, no trust statement (EN-certified, Europe-wide installation, B2B supply), and no primary CTA into the catalogue. A first-time visitor cannot tell within 3 seconds that this is a shop for certified safes.

⏱ Estimated: 8 dev hours

🔴 "Shop by Category" section is hidden with display:none

The section sg_category_grid ("Nach Kategorie einkaufen") is fully built — 7,522 characters of markup, an H2 and H3 headings for Tresore, Brandschutz, Sicherheitsspiegel and Display-Warensicherung — but its computed style is display:none, so it renders at 0 px height. The store's main merchandising entry point exists and is invisible. Because the content is already authored, re-enabling it is a low-effort, high-impact fix.

⏱ Estimated: 4 dev hours

⚠️ Prime above-the-fold real estate given to blog articles

The two largest homepage sections are blog grids (601 px and 990 px tall). The educational content is genuinely good and valuable for SEO, but placing it first makes the homepage read as a magazine rather than a shop. It belongs below the category grid and best-sellers.

⏱ Estimated: 2 dev hours

What's Done Right
✅ No auto-rotating carousel

The homepage uses static sections rather than an auto-playing slideshow. This is the correct choice — rotating banners split attention, slow the first paint and consistently underperform a single clear message.

✅ Zero layout shift

Cumulative Layout Shift measures 0 on both mobile and desktop (Lighthouse). Nothing jumps as the page loads — a common and damaging problem this store does not have.

Homepage · Desktop 1440×900
3. Product Cards & Best Sellers
Critical
SafeGear homepage trust cards and B2B band
Current state — the strongest homepage sections are a 4-card trust block and a B2B band. Still no products anywhere.
Issues to Fix
🔴 Zero product cards on the homepage

We counted 0 product cards across the entire homepage against a catalogue of 215 products. The only product links present are four accessories (an interior-cabinet code lock, a 3-way handle, two spare drawers) — no safes, no flagship items. A visitor cannot see a single sellable product, or a single price, without first using search or the navigation.

⏱ Estimated: 8 dev hours

🔴 No best-sellers or featured-products block

There is no "Bestseller", "Beliebt" or featured section anywhere on the homepage — confirmed both by DOM inspection and a text scan. Ironically the collection pages already expose a Bestseller sort option, so the underlying data exists; it is simply never merchandised. Best-sellers near the top of the homepage are one of the highest-leverage additions available here.

⏱ Estimated: 8 dev hours

⚠️ No social-proof band on the homepage

No reviews, no star ratings, no client or institutional logos, no "supplied to X offices/pharmacies/authorities" counter. The B2B band names police, military, schools and hospitals as customers, but nothing substantiates it visually — for public-sector and business buyers, references are the deciding factor.

⏱ Estimated: 4 dev hours

⚠️ No UGC / installation gallery

No Instagram feed, project gallery or real installation photography. For safes and vault doors, photos of completed installations in real offices, pharmacies and vaults are the most persuasive content available and cost nothing but coordination.

⏱ Estimated: 4 dev hours

What's Done Right
✅ Clear four-point trust block

"Warum Sie uns wählen sollten" presents Zertifizierte Qualität, Europäische Normen, Expertenunterstützung and Schnelle Lieferung as icon cards with supporting copy — concise, relevant and on-message for a certification-driven category.

✅ Strong B2B / public-sector band with a quote CTA

"Belieferung von Unternehmen, Behörden und dem Bereich der öffentlichen Sicherheit" pairs four proof points (volume & contract pricing, consultation & specification, delivery & installation, European certification) with an "Angebot anfordern" CTA to a real quote-request page. This correctly serves the high-value B2B segment.

Homepage · Desktop 1440×900
4. Footer & Trust Signals
Warning
SafeGear footer with payment icons
Current state — footer with audience segmentation, policy links and a full row of payment icons.
Issues to Fix
🔴 Broken footer link — "Cookies" returns a 404

The footer "Cookies" link points to /policies/#shopifyReshowConsentBanner. We verified that /policies/ is not a valid page and returns HTTP 404 — so a visitor trying to review or change their cookie choices lands on an error page. Every other footer link we tested returns 200. For an EU store this is both a UX defect and a compliance-facing one, and it is a few minutes' fix.

⏱ Estimated: 1 dev hour

⚠️ No Impressum link

There is no Impressum anywhere in the footer or navigation. Austrian company details do exist at /policies/contact-information, but that page is reachable only via "Kontaktieren Sie uns" and lists Danish, Swiss and Spanish entities. An Austrian webshop is expected to carry a clearly labelled Impressum (ECG §5) and, for high-ticket buyers, it is also a primary legitimacy check.

⏱ Estimated: 2 dev hours

⚠️ No FAQ link in the footer

There is no FAQ page (/pages/faq returns 404) and no footer FAQ link. Excellent Q&A content already exists inside product-page accordions and the Wissensdatenbank — it just isn't consolidated where users look for it first.

⏱ Estimated: 3 dev hours

⚠️ No newsletter or email capture in the footer

The footer has no subscribe field — and site-wide we found zero input[type=email] elements. The footer is the standard, non-intrusive place to build a list for a considered-purchase catalogue where buyers research for weeks before ordering.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Complete, working policy set

Privacy & cookie policy, terms (AGB), returns/refunds, shipping and delivery & installation are all present and all returned HTTP 200 when tested — no broken policy links.

✅ Full row of payment icons

Visually confirmed: Apple Pay, Bancontact, blik, Google Pay, Maestro, Mastercard, PayPal, Shop Pay and Visa are displayed in the footer — a straightforward and effective payment-trust signal.

✅ Audience-based navigation ("Wem wir helfen")

Einzelhandel, Büro, Branche, Bildung, Gesundheitswesen and Privat give buyers a use-case entry point rather than forcing them to shop by product type — smart for a catalogue serving very different segments.

✅ Knowledge base and delivery/installation pages linked

The Wissensdatenbank and a dedicated "Lieferung & Installation" page are linked directly from the footer — exactly the reference material a buyer needs before committing to a multi-thousand-euro installed product.

Suggestions — Collection Page
Collection · Desktop 1440×900
5. Collection Page Layout
Critical
SafeGear certified safes collection page
Current state — "Zertifizierte Tresore": strong H1, rich SEO copy, domain-specific filters and spec-rich listings.
Empty Feuerloescher collection showing no products found
The problem — "Feuerlöscher", linked from the main menu: four paragraphs of category copy, "0 Artikel", and "Keine Produkte gefunden."
Issues to Fix
🔴 Nine empty collections are linked from the main navigation

We opened every collection in the menu. Nine return no products at all, each showing "Keine Produkte gefunden.": Feuerlöscher, Wasserlöscher, CO2 Löscher, Pulverlöscher, Schaumlöscher, Halterungen für Feuerlöscher, Feuerleitern, Löschdecken and Warnschilder. This means the top-level category "Brandschutz" — one of only five — is effectively dead: of its 13 sub-collections, 9 are empty, Feuerlöscherwagen has 1 product, and Sicherheitsschilder and Notausgangsschilder have 2 each. Each page carries full, well-written SEO copy, so it will attract organic and paid traffic and then convert none of it. Either stock and publish these lines or unpublish the collections and remove them from the menu until they are ready.

⏱ Estimated: 10 dev hours

⚠️ Several collections are too thin to browse

Hoteltresore (2), Sicherheitsschilder (2), Notausgangsschilder (2), Inspektionsspiegel (2), Lithium-Batterie Aufbewahrung (3) and Feuerlöscherwagen (1). A category page that holds one or two items reads as an empty shop; these are better merged into a parent collection or presented as a filtered view.

⏱ Estimated: 4 dev hours

⚠️ Filters show no product counts

Neither Widerstandsgrad nor Brandschutzklasse displays the number of matching products, so a buyer cannot tell that "Widerstandsgrad VII" might return nothing before clicking. Counts next to each option prevent dead-end filtering.

⏱ Estimated: 3 dev hours

⚠️ Only two filter dimensions — the decisive ones are missing

Filtering is limited to Widerstandsgrad and Brandschutzklasse. There is no filter for price, internal volume (Liter) or lock type — even though the category copy itself states that safes come with key, electronic or combination locks and range from 11 to 91 litres, and prices span €359–€6,577. On a 225-item collection these three filters are the primary way buyers narrow down.

⏱ Estimated: 8 dev hours

⚠️ Filter values mix English and German

Under "Brandschutzklasse" the options read "Nicht brennbar (DIN 4102)", "30 minutes", "60 minutes", "120 Minuten" — two English values in a German storefront filter. The same leak appears in cart line items ("Key Lock with 2 Keys"). Small, but it undermines a premium, locally-credible impression.

⏱ Estimated: 2 dev hours

⚠️ ~500 px of intro copy pushes products below the fold; pagination only

Four paragraphs of category text sit above the grid, so the first product appears only around y≈600 px and the filter sidebar starts below the fold. The copy is valuable for SEO — but it should be clamped to 2–3 lines with a "Mehr lesen" expander, or moved beneath the grid. Navigation is also paginated with no "Load more"/infinite scroll.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Relevant H1 and genuinely useful SEO copy

Exactly one H1 per collection ("Zertifizierte Tresore"), followed by four substantive paragraphs explaining EN 1143-1 classes, insurance requirements and class selection. This is real expertise, not filler — a strong differentiator in this category.

✅ Domain-appropriate filters

Widerstandsgrad (S2, 0 through VII) and Brandschutzklasse (non-combustible, 30/60/120 minutes) are exactly the technical axes buyers and insurers care about — far better than generic colour/size facets.

✅ Nine sort options including Bestseller

Empfohlen, Am relevantesten, Bestseller, A–Z, Z–A, price ascending/descending and two date orders — comprehensive, and confirmation that best-seller data is available for merchandising elsewhere.

✅ Spec-rich listings with certification badges

Each listing shows height/width/depth ranges, weight, anchoring options, a certification badge (EN 1143-1 / EN 14450 with ECB•S or VdS attribution) and "Von €X inkl. MwSt." — a buyer can shortlist without opening a single product page.

✅ Result count and grid/list toggle

"225 ARTIKEL" is displayed with a grid/list view switch, and the list view's comparison-table feel suits a technical purchase well.

Suggestions — Product Page
Product · Desktop 1440×900
6. Product Page — Images & Pricing
Critical
SafeGear product page above the fold
Current state — the whole first screen of a €522 product: title, SKU and description, but no price and no buy button.
Issues to Fix
🔴 The price is not visible above the fold

On a 900 px-tall viewport the first screen shows the title, SKU and two paragraphs of description. The variant picker starts at 936 px and the price ("€435,79 zzgl. MwSt. / €522,95 inkl. MwSt.") only appears at 1,548 px — about 1.7 screens down. We confirmed the same offset on a second product, so this is the template, not a one-off. Price is the single most-sought element on a product page; requiring two scrolls to find it invites an immediate bounce back to Google.

⏱ Estimated: 8 dev hours

⚠️ No product video or 3D model

The gallery is photography only — no video and no model-viewer. For safes, short clips showing door thickness, locking-bolt action, interior organisation and anchoring do more to justify a €500–€6,500 price than any still image, and also reduce pre-sales questions.

⏱ Estimated: 4 dev hours

⚠️ Placeholder value "None" leaking into the spec table

On the Lyra 0 product page the specification table renders "Feuerwiderstandsklasse: None" — an untranslated null value shown to the customer. Empty attributes should be hidden or rendered as "–" / "Nicht zutreffend". We saw it on one product, so it is likely limited to items missing that attribute, but on a certification-driven page any stray "None" reads as incomplete data.

⏱ Estimated: 1 dev hour

⚠️ Variant values fall back to English in the cart

The product page correctly shows "Schloss: Schlüsselschloss mit 2 Schlüsseln", but the cart drawer displays the same option as "Key Lock with 2 Keys". The option values are only translated in one place, so the language switches at the most sensitive moment — just before checkout.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Full breadcrumb trail

Startseite / Kollektionen / Zertifizierte Tresore / Lyra Klasse 0 / product — four levels, aiding both navigation and SEO. Present and correct on product pages.

✅ Genuine visual variant selection

Size is chosen from 12 labelled buttons that each show real dimensions (270×350×280 mm …), colour via an actual RAL 7024 swatch, and lock type via two photographic swatches (key lock vs. electronic keypad). This is exactly how a technical variant picker should work — no ambiguous dropdowns.

✅ Dual net / gross pricing

Both "€435,79 zzgl. MwSt." and "€522,95 inkl. MwSt." are shown. For a catalogue selling to businesses, authorities and consumers simultaneously, displaying net and gross side by side removes a real source of confusion.

✅ Large gallery with zoom and thumbnails

Image zoom is available, with a thumbnail strip covering product shots, interior views, dimension diagrams and lock detail — strong visual coverage of a hard-to-photograph product.

✅ SKU shown and clean heading structure

The manufacturer reference (FT-012720-60000) is displayed under the title — important for B2B cross-referencing and tenders — and the page has exactly one H1.

Product · Desktop 1440×900
7. Product Page — Buy Section & Trust
Critical
SafeGear accessory configurator and order summary
Current state — accessory configurator, "Ihre Auswahl" summary, and transparent delivery/installation pricing.
Issues to Fix
🔴 The sticky Add-to-Cart bar is broken — it never becomes visible

The theme ships a <sticky-add-to-cart> component, but it renders with opacity: 0 and is translated below the viewport: on desktop its button sits at y 940–992 px against a 900 px viewport, and on mobile the bar sits at 884 px against an 844 px viewport. We verified it three ways — computed styles at multiple scroll depths, screenshots after scrolling 3,000 px (no bar appears), and Playwright refusing to click it with "element is outside of the viewport". The likely root cause is that this theme scrolls a custom container (div.page-wrapper) rather than the document, so window-level scroll listeners that should reveal the bar never fire. Fixing this single component restores a persistent buy button on every product page.

⏱ Estimated: 6 dev hours

🔴 Add to Cart sits 1.8 screens below the fold

The in-page Add-to-Cart button is at 1,595 px on a 900 px viewport — and because the accessory configurator is placed above it, the buy box comes after the upsell rather than before it. With the sticky bar broken (above), a decided buyer has no way to purchase without scrolling past two screens of content on a 7,478 px page.

⏱ Estimated: 8 dev hours

⚠️ No trust or guarantee signals next to the buy button

There are no payment icons, no returns/guarantee line and no security reassurance adjacent to Add to Cart — the exact point where a buyer commits €500–€6,500. The store has the assets (certifications, return policy, payment methods); they are simply not surfaced here.

⏱ Estimated: 3 dev hours

⚠️ No instalment / BNPL option on high-ticket items

No Klarna, Afterpay, Affirm or Shop Pay instalment messaging was detected. At €522 for an entry model and €3,000–€6,500 for vault-class safes, monthly-payment framing materially widens the buyer pool — and Klarna in particular is a mainstream expectation in Austria and Germany. Worth testing on product and cart pages.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Real accessory configurator with a running order summary

Accessories (extra shelf €55,95, firearm mount €93,95) have quantity steppers and checkboxes, and an "Ihre Auswahl" panel maintains Hauptprodukt + Zusatzoptionen with a live "Gesamt zzgl./inkl. MwSt." total. This is a genuinely sophisticated pattern that most Shopify stores lack — and an effective AOV driver.

✅ Delivery and installation costs stated upfront

"Lieferzeit 1–2 Wochen", curbside delivery ≈€80, delivery to final location ≈€450, and delivery plus floor/wall anchoring ≈€530 — with an honest note that these are guide prices depending on access, stairs and weight. Publishing installation costs instead of hiding them until checkout is a significant trust advantage.

✅ Volume pricing request and product comparison

"Nach Mengenpreisen fragen" and "Zum Vergleich hinzufügen" both sit in the buy area — the right tools for B2B buyers specifying multiple units and comparing resistance classes.

✅ Installation quote path

A "Transportformular" CTA and installation cost-estimate request let buyers with difficult access resolve logistics before ordering, instead of abandoning over uncertainty.

✅ Express checkout available

Shop Pay, PayPal and Google Pay appear alongside the standard checkout button, shortening the path for returning and mobile buyers.

Product · Desktop 1440×900
8. Product Page — Description & Cross-sell
Good
SafeGear product specification tables
Current state — structured specification tables covering specs, certifications and dimensions.
Issues to Fix
⚠️ Very long page with no section navigation

The product page runs 7,478 px on desktop and 9,501 px on mobile. The content justifies the length, but there are no anchor links or a section jump-bar (Specifications · Certifications · Dimensions · Delivery · FAQ), so finding a specific detail means scrolling blind. A sticky section nav would also give the buy button a permanent home.

⏱ Estimated: 4 dev hours

What's Done Right
✅ Exceptional structured specifications

Three clearly headed tables — Spezifikationen (model, series, type, purpose, anchoring), Zertifizierungen (resistance class, test method, certifying body) and Abmessungen (external/internal dimensions) — deliver the depth a technical buyer, insurer or tender process requires.

✅ Ten-plus product FAQs in accordions

Questions such as "Welche Einbruchschutzklasse sollte ich wählen?", "Ich habe den Code für meinen Tresor vergessen", "Wie kann ich den Tresor selbst befestigen?" and several installation topics are collapsed into accordions — pre-empting real objections without bloating the visible page.

✅ Relevant cross-sell and related products

Related items are same-series alternatives in other sizes (Lyra 1, 4, 7, 18) shown with dimensions, weight, price and certification badge, each with a "Vergleichen" checkbox — genuinely useful rather than random recommendations.

✅ No external links leading users away

We found no outbound third-party links in the main content area — nothing pulls a buyer off the page mid-decision.

Product · Desktop 1440×900
9. Product Page — Reviews & Social Proof
Critical
SafeGear product page bottom, related products then footer
Current state — related products run straight into the footer. There is no reviews section on the page at all.
Issues to Fix
🔴 Zero reviews anywhere on the site

There is no review content and no review infrastructure: no star ratings, no review widget, and no review-app script for Judge.me, Yotpo, Stamped, Loox, Okendo or Reviews.io. No Trustpilot integration either, and the words "Bewertung" and "Rezension" never appear on the product page. For purchases of €500–€6,500 where the core promise is a certified security claim, third-party validation at the decision point is the most valuable missing asset on the site.

⏱ Estimated: 8 dev hours

🔴 No ratings on product, collection or homepage cards

Because no review system exists, there is nothing to surface as a star rating under the product title or on collection listings — where ratings do most of their conversion work by helping buyers shortlist. Note this compounds with Block 15: with no email platform, there is also no post-delivery review request generating the reviews in the first place. Fixing both together is what breaks the deadlock.

⏱ Estimated: 4 dev hours

What's Done Right
✅ Certification badges provide partial third-party validation

EN 1143-1 / EN 14450 badges attributed to ECB•S and VdS appear on listings and product pages, and the certifying body is named in the spec table. This is real external validation and unusually credible — it mitigates, though does not replace, the absence of customer reviews.

Suggestions — Shopping Cart
Cart · Desktop 1440×900 · tested with an item added
10. Shopping Cart
Warning
SafeGear cart drawer with product added
Current state — cart drawer after adding a €522,95 safe, next to the product's variant pickers.
Issues to Fix
⚠️ No upsell in the cart drawer

The product page has an excellent accessory configurator, but the drawer offers nothing — no anchoring kit, spare keys, extra shelf or fire-protection add-on. The moment after a €522 commitment is the highest-intent point in the session; two relevant accessories here would lift AOV with no new traffic.

⏱ Estimated: 5 dev hours

⚠️ No trust reassurance in the drawer

The drawer carries no payment icons, returns note or guarantee line. Express-checkout buttons (Shop Pay, PayPal, Google Pay) provide some implicit reassurance, but an explicit "14-day returns · certified & insured · secure checkout" line directly above "Zur Kasse gehen" is standard practice at this price point.

⏱ Estimated: 3 dev hours

⚠️ Product thumbnail is small (66×66 px)

The line-item image renders at 66×66 px. For a product whose variants differ mainly in size and finish, a larger thumbnail helps the buyer confirm they configured the right model before paying.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Ajax cart drawer, no page reload

Adding an item slides out a drawer and keeps the shopper on the product page — verified live. Momentum is preserved instead of being broken by a full-page cart.

✅ One-click quantity and removal

Each line has −/+ quantity steppers and a delete icon, with the item count and totals updating in place.

✅ Total is clear before checkout, with tax and shipping explained

"Geschätzte Gesamtsumme €522,95" sits directly above the checkout button, with "Zölle und Steuern inbegriffen. Die Versandkosten werden beim Checkout berechnet." — no surprises, which matters most where delivery can add €80–€530.

✅ Discount field correctly de-emphasised

"Rabatt" is collapsed into an accordion rather than displayed as an open field, so it doesn't prompt buyers to abandon and hunt for a coupon.

✅ B2B fields built into the drawer

"Besondere Anweisungen" and "Angaben für Geschäfts- und Behördenkunden" let business and public-sector buyers supply delivery instructions and order references without leaving the cart — a thoughtful touch for this customer mix.

Suggestions — Mobile
Homepage · Mobile 390×844
11. Mobile — Homepage & Navigation
Warning
SafeGear mobile homepage
Current state — the mobile first screen is a single blog card. No hero, no products, no category grid.
SafeGear mobile navigation drawer
The mobile menu works well — five categories with drill-down and visual category cards.
Issues to Fix
🔴 The mobile first screen is a single blog card

With the category grid hidden and no hero, the opening mobile screen contains only the utility bar, header and one "Ratgeber" article card. Mobile visitors — typically the majority of Shopify traffic — get no value proposition, no category entry point and no product before they must scroll. This is the same root cause as Blocks 2 and 3, but its impact is larger on a 390×844 screen.

⏱ Estimated: 4 dev hours

⚠️ Base font size is 14 px

The computed body font is 14 px, below the 16 px mobile baseline. Beyond legibility on dense technical copy, inputs under 16 px cause iOS Safari to auto-zoom on focus, which disrupts form entry at checkout.

⏱ Estimated: 4 dev hours

⚠️ Several tap targets below 44×44 px

13 of the first 40 interactive elements measured under 44 px in at least one dimension — notably the utility-bar links (phone 103×22 px, email 127×22 px). Those are exactly the contact shortcuts a mobile buyer with a pre-sales question will reach for, and they are the hardest to hit accurately.

⏱ Estimated: 3 dev hours

What's Done Right
✅ Hamburger menu works cleanly

The menu opens a full drawer listing all five categories with drill-down chevrons, a language switcher and visual category cards — verified by opening it live.

✅ No horizontal overflow

Document width measures exactly 390 px at a 390 px viewport — no sideways scrolling or clipped layout anywhere.

✅ Content adapts into swipeable carousels

Card grids become horizontally swipeable carousels on mobile rather than stacking into an endless column — appropriate responsive behaviour.

✅ No intrusive full-screen popups

No interstitial or full-screen overlay blocks the mobile experience; the GDPR consent notice is contained and dismissible.

Product · Mobile 390×844
12. Mobile — Product Page
Critical
SafeGear mobile product page scrolled, no sticky add to cart
Current state — scrolled 3,000 px into the mobile product page: delivery and installation info, but no sticky Add-to-Cart bar.
Issues to Fix
🔴 Sticky Add to Cart is broken on mobile too

At 3,000 px scroll depth the sticky bar measured opacity: 0, transform: translateY(131.5px) and a bounding top of 884 px against an 844 px viewport — entirely below the screen and fully transparent. The screenshot confirms no bar is visible. Mobile is precisely where a persistent buy button matters most, on a page 9,501 px tall.

⏱ Estimated: 3 dev hours

🔴 Add to Cart is 2.4 screens down

The in-page Add-to-Cart button sits at 2,047 px on an 844 px viewport — about two and a half full screens of scrolling before a mobile buyer can act, with no sticky fallback. Price and buy controls should be reachable within the first screen or two, and the sticky bar should cover everything after that.

⏱ Estimated: 4 dev hours

What's Done Right
✅ Swipeable product gallery

Product images can be swiped through on mobile rather than requiring taps on small arrows — the expected gesture, correctly implemented.

✅ Large, tappable variant buttons

The 12 size options, colour swatch and lock-type swatches render as generously sized tap targets on mobile, so configuring a safe on a phone is genuinely workable.

Suggestions — Technical & Marketing
Homepage & Product · Google Lighthouse (PageSpeed Insights) + in-browser measurement
13. Speed & Technical
Warning
67
Mobile Perf — Home
6.7 s
Mobile LCP — Home
74
Mobile Perf — Product
6.0 s
Mobile LCP — Product
98
Desktop Perf
1.0 s
Desktop LCP
0
CLS
303
Requests
Issues to Fix
🔴 Mobile LCP of 6.0–6.7 s against a 2.5 s target

Lighthouse measured the homepage at 67/100 on mobile — FCP 2.9 s, LCP 6.7 s, Speed Index 5.6 s, and the product page at 74/100 — FCP 2.5 s, LCP 6.0 s. The same pages score 98/100 with a 1.0 s LCP on desktop, so this is specifically a mobile problem: the largest element takes roughly six times longer to appear. Mobile LCP is both a ranking signal and the strongest single speed correlate of conversion, and here it is more than double the recommended threshold on every page tested.

⏱ Estimated: 10 dev hours

⚠️ 303 requests and 207 JavaScript files on the homepage

Measured in-browser: 303 network requests, 207 JS files and 60 <script src> tags. Blocking time is currently excellent (TBT 0 ms), so this isn't hurting interactivity yet — but a request count this high on a mobile connection is a direct contributor to the slow LCP above and leaves no headroom for future apps.

⏱ Estimated: 6 dev hours

⚠️ Images mostly served as JPG/PNG, none as AVIF

Of 47 homepage images, 36 are JPG/PNG and only 11 WebP, with no AVIF. All are served through Shopify's CDN with sizing parameters, so switching the remainder to WebP/AVIF is low-risk and typically cuts image payload 25–50% — directly targeting the mobile LCP problem.

⏱ Estimated: 4 dev hours

⚠️ Homepage H1 is just the logo text

The only H1 on the homepage is "SafeGear" (the logo). For a store competing on terms like "Tresor kaufen" or "zertifizierte Tresore Österreich", the primary heading carries no topical signal. We also found two empty H2 elements and an H2 used for the "Sprache" language switcher — headings used for styling rather than structure.

⏱ Estimated: 2 dev hours

What's Done Right
✅ Desktop performance is near-perfect

98/100 with FCP 0.6 s, LCP 1.0 s and Speed Index 1.0 s. The foundations — hosting, CDN, server response — are sound; the mobile gap is an optimisation problem, not an architectural one.

✅ Zero layout shift and zero blocking time

CLS 0 and TBT 0 ms on mobile and desktop. Despite 207 JS files nothing blocks the main thread and nothing jumps during load — genuinely better than most Shopify storefronts.

✅ Lazy loading correctly implemented

38 of 47 homepage images carry loading="lazy", with above-the-fold images correctly excluded.

✅ Exactly one H1 per page

Homepage, collection and product pages each have precisely one H1 — no duplicate-H1 problem, which is the more common and more damaging error.

✅ Responsive image sizing via CDN

All 47 images are requested with Shopify CDN width parameters, so devices receive appropriately scaled files rather than full-resolution originals.

Homepage · Desktop 1440×900
14. Marketing — Popups & Email Capture
Critical
SafeGear homepage industry section with chat widget
Current state — live chat is active (bottom right), but there is no email capture anywhere on the page.
Issues to Fix
🔴 No email capture anywhere on the site

We found zero input[type=email] fields site-wide — no newsletter form, no footer subscribe, no popup, no gated content. For a catalogue where buyers research certification classes for weeks before spending €500–€6,500, not capturing a single address means every non-converting visitor is lost permanently. A "which resistance class do you need?" guide or installation-cost checklist would be a natural, high-value exchange for an email here.

⏱ Estimated: 6 dev hours

🔴 No welcome or exit-intent offer

No popup of any kind was detected — including no exit-intent capture. Given the long consideration cycle, an exit-intent offer of a comparison guide or a callback from a specialist (rather than a discount, which suits this category poorly) would recover a meaningful share of abandoning researchers.

⏱ Estimated: 4 dev hours

⚠️ No loyalty or referral programme

No points, rewards or refer-a-friend mechanism. Lower priority for predominantly one-off, high-ticket purchases — but a referral incentive aimed at B2B buyers (facility managers, pharmacists, retail chains who buy repeatedly and talk to peers) is worth considering later.

⏱ Estimated: 5 dev hours

What's Done Right
✅ Live chat is present and visible on every page

A chat widget sits persistently in the bottom-right corner across homepage, collection and product pages — verified in every screenshot. For a category full of pre-sales questions about classes, anchoring and installation, this is the single most valuable support channel and it is already in place.

✅ No fake urgency or countdown timers

No fake countdowns, no invented "only 2 left" counters and no artificial scarcity. For a certification-led, B2B-facing brand this restraint protects credibility — and it is the correct choice, not an omission.

✅ Compliant cookie consent

A GDPR consent banner with explicit Akzeptieren / Ablehnen / "Einstellungen verwalten" options is implemented — proper granular consent rather than a forced accept.

Site-wide · Script, network and web-pixel inspection
15. Marketing — Email Automations & Tracking
Critical
SafeGear footer with no newsletter signup
Current state — the footer, like every other page region, contains no email capture and no marketing integration.
Issues to Fix
🔴 No GA4 and no Google Tag Manager

Neither GA4 nor GTM is present — no gtag/js, no googletagmanager.com, no measurement ID in the page source, and no network requests to Google Analytics domains. Only Shopify's built-in analytics is running. Without GA4 there is no funnel reporting, no landing-page or channel analysis, and no way to quantify any of the issues in this report.

⏱ Estimated: 8 dev hours

🔴 No Meta Pixel, Google Ads or TikTok tracking

No Meta Pixel (fbevents.js / fbq), no Google Ads conversion tag, no TikTok or Pinterest pixel, and no Hotjar or Clarity. The only third-party domain contacted during the session was shop.app. Paid acquisition therefore cannot be measured, optimised or retargeted — and for a catalogue with a €359–€6,577 order value, remarketing to researchers is normally the highest-ROI channel available.

⏱ Estimated: 8 dev hours

🔴 The one custom pixel installed transmits nothing

A single custom Shopify Web Pixel is registered, which could easily be mistaken for working tracking. We fetched its sandbox source: it subscribes to all_standard_events and then only calls console.log when a shopify-pixel-mode debug flag is set in localStorage. It sends no data to any destination — a developer debug stub, not analytics. Anyone reviewing the admin would see "a custom pixel is installed" and reasonably assume tracking exists.

⏱ Estimated: 2 dev hours

🔴 No email platform — so no automated flows at all

No Klaviyo, Omnisend or Mailchimp integration was detected. Combined with the complete absence of email capture (Block 14), this means there is no abandoned-cart recovery, no browse-abandonment flow, and no post-delivery review request. Abandoned-cart email is typically the highest-return automation in ecommerce, and the review request is what would finally solve the zero-reviews problem in Block 9. These three gaps reinforce each other and should be fixed as one project.

⏱ Estimated: 14 dev hours

What's Done Right
✅ Shopify native analytics is active

Shopify's own analytics (trekkie) is running, so order, session and basic conversion data is being recorded in the admin. That gives a baseline to validate against once GA4 and the advertising pixels are installed — the store is not starting from zero data.

Implementation Estimate — Time & Fixed Price

Average dev hours and a fixed price at $40/hour. Suggested order: Critical → Medium → Low.

🔴 Critical Priority — Must Fix
Direct revenue impact. Start here for the biggest wins.
BlockTaskHours (avg)Fixed Price
5Populate or unpublish 9 empty collections + clean up Brandschutz menu10$400
2Re-enable & configure the hidden "Shop by Category" grid4$160
2Build homepage hero with value proposition + primary CTA8$320
3Homepage best-sellers / featured-products section8$320
7Fix the broken sticky Add-to-Cart bar (desktop + mobile)6$240
6Move price + Add to Cart above the fold (PDP layout reorder)8$320
9Review platform setup (Judge.me / Trustpilot) + ratings on cards8$320
15GA4 + Google Tag Manager + Consent Mode v28$320
15Meta Pixel + Google Ads conversion tracking (incl. CAPI)8$320
15Email platform + abandoned cart, browse abandonment, review request14$560
14Email capture — embedded forms, lead magnet, exit-intent6$240
13Mobile LCP optimisation (above-fold images, preload, defer JS)10$400
4Fix broken footer "Cookies" link (404)1$40
Subtotal — Critical99 hrs$3,960
⚠️ Medium Priority — Should Fix
UX friction. Tackle after Critical to compound the gains.
BlockTaskHours (avg)Fixed Price
5Add price / volume (Liter) / lock-type filters + product counts8$320
13Convert remaining images to WebP/AVIF + reduce request count6$240
10Cart drawer upsell (anchoring kits, shelves, spare keys)5$200
5Merge / consolidate thin collections (1–3 products)4$160
11Base font 14px → 16px + enlarge mobile tap targets4$160
3Homepage social-proof band (certifications, client references)4$160
5Clamp collection intro copy with "Mehr lesen" expander3$120
6Translate variant option values (cart shows English)3$120
7Trust / guarantee strip under Add to Cart3$120
7Klarna / BNPL activation + product-page messaging3$120
10Trust badges + larger thumbnails in cart drawer3$120
1Announcement bar with delivery / returns / lead-time terms3$120
5Fix mixed-language filter values (EN → DE)2$80
1Add Austrian phone number + local contact details2$80
4Impressum page + footer link2$80
Subtotal — Medium55 hrs$2,200
🟢 Low Priority — Nice to Have
Polish & long-term wins. Optional, no direct revenue gate.
BlockTaskHours (avg)Fixed Price
14Referral / loyalty programme for repeat B2B buyers5$200
8Anchor / section navigation on long product pages4$160
6Product video / 3D model integration4$160
3UGC / real installation gallery on the homepage4$160
4Consolidated FAQ page + footer link3$120
13Descriptive homepage H1 + fix empty / misused headings2$80
6Hide "None" placeholder values in spec tables1$40
Subtotal — Low23 hrs$920
Total Estimated
177 hrs · $7,080 fixed

* Hours are averages and the price is fixed at $40/hour, for development implementation only. Content creation (product videos, installation photography), product data entry for the empty collections, and third-party subscription costs (email platform, review app) are not included. Suggested order: Critical → Medium → Low.

Proven Results — Our Approach in Action

Stores on our CRO approach grew Total Sales +19%

The fixes in this report aren't theory — they're the same conversion levers we implement for the stores we work with. Here's the Total Sales curve from a store running our approach versus the previous period:

Total Sales over time — up 19% with our CRO approach

Total Sales over the period: $168,636+19% vs the prior period. Solid line = current (our approach), dotted = before.