Ridgeline Lumber Co.'s entire Google marketing stack is in a critically compromised state that makes current performance data unreliable for any business decision-making. Conversion tracking is double-counting leads by an estimated 2–3x due to overlapping GTM triggers and duplicate GA4 conversion events, meaning reported lead volume is likely 50–66% inflated. The Google Ads account is completely dormant with zero campaigns and zero conversion actions, while GA4 and Google Ads have never been linked — creating a situation where any future ad spend would be managed with no performance feedback whatsoever. Organic search is generating only 4–5 clicks per day sitewide with a sustained ranking decline since November 2025, and 36% of all GA4 sessions are unattributable due to a missing page_view event implementation. Resolving the conversion tracking integrity issues, launching a properly structured Google Ads account, and addressing the GSC ranking regression are the three actions that will have the greatest immediate revenue impact.
Estimated Impact
Combined estimated impact across all critical cross-platform findings: $8,000–$52,000+ per month in recoverable or currently forfeited revenue. This includes: $5,000–$50,000/month in forfeited paid search revenue from a dormant Google Ads account with no campaigns; $500–$2,000/month in lost organic revenue from the sustained GSC ranking regression; and an indeterminate but material waste of any future ad spend if conversion tracking integrity is not resolved before campaigns launch — industry benchmarks suggest 20–40% higher cost-per-conversion when Smart Bidding operates without clean conversion signals.
Top Priorities
Execute in this sequence: (1) In GTM, replace all click-based form triggers (triggerIds 11, 18, 3, 17, 7, 16) with the existing elementor_form_submission custom event trigger (triggerId 28) for confirmed submissions only. (2) Delete redundant duplicate text-click triggers 17, 16, 15, and 18. (3) In GA4 Admin > Events, audit and consolidate the three form conversion events — keep one canonical 'lead_form_submit' event with a 'form_type' custom dimension parameter. (4) Remove 'form_submit' enhanced measurement auto-event from the GA4 data stream if custom events already cover this. (5) In Google Ads account 7423816509, create conversion actions for form submissions and phone calls BEFORE launching any campaigns. (6) Link GA4 property 471829364 to Google Ads account 7423816509 and import verified GA4 conversions.
(1) In GA4 Admin > Property Settings > Google Ads Links, link account 7423816509. Enable 'Import GA4 Conversions into Google Ads' during setup. (2) Verify auto-tagging is active in Google Ads account settings (already confirmed enabled). (3) Build initial campaign structure: a branded search campaign (exact match on 'Ridgeline Lumber', 'Ridgeline Lumber Co.', 'ridgelinelumber') to protect brand traffic, then non-branded campaigns targeting 'reclaimed barn wood for sale', 'antique hardwood lumber', 'mushroom wood siding', 'poplar bark siding'. (4) Use Manual CPC or Maximize Clicks bidding until at least 30 conversions are recorded — do not use Smart Bidding until clean conversion data is established. (5) Set GA4 data retention to 14 months (currently 2 months) before campaigns launch so attribution lookback windows have sufficient data.
(1) Immediately verify the GSC index coverage anomaly ('indexedUrls: 00') by logging into GSC directly and running a site:ridgelinelumber.com query — if a real deindexation event occurred, this supersedes all other priorities. (2) Audit all site changes, CMS updates, and plugin modifications made in November–December 2025 to identify the regression trigger. (3) Fix the GA4 '(not set)' landing page issue (GTM config tag must fire before event tags on all pages) so organic landing page data becomes reliable for diagnosing which pages lost rankings. (4) Rewrite the title tag of the high-impression blog post to remove the outdated year and add a compelling hook — this single change could recover 18–38 clicks/period. (5) Perform a full on-page optimization of the primary product category page targeting 'reclaimed barn wood for sale'. (6) Implement Product structured data on all product category pages to improve CTR from existing impressions.
Platform Scores
GA4
34
GTM
62
Search Console
32
Google Ads
8
GA4 Findings
The adsLinks array is empty, meaning GA4 property 'ridgeline-prod' (properties/471829364) has zero Google Ads accounts connected. If Ridgeline Lumber Co. is running any Google Ads campaigns, there is no auto-tagging import, no GCLID attribution, and conversion data cannot flow back to Google Ads for Smart Bidding optimization.
The eventDataRetention is set to 'TWO_MONTHS', the minimum possible value. This means all user-level and event-level data in the GA4 Explore reports is purged after 60 days. Standard reports are unaffected, but any custom Exploration, Funnel Analysis, Path Analysis, or Segment Overlap report cannot look back further than 2 months.
329 out of approximately 899 total sessions land on page '(not set)', which indicates these sessions have no associated page_view event or the session was initiated by a non-pageview event (e.g., a direct event hit without a page context). The 93.9% bounce rate on this segment is anomalous and suggests a significant tagging or implementation gap — likely pages where the GA4 tag is not firing correctly or events are firing before the page_view event.
Three separate conversion events appear to track contact form submissions: 'RequestInfo' (created 2023-03-24), 'form_submit' (created 2023-12-08), and 'foot_contact_form_send' (created 2023-12-08). Additionally, 'click_talk_to_an_expert' may overlap with these. Without custom dimensions to differentiate form types, it is impossible to determine if these are truly distinct actions or if a single form submission is being counted 2–3 times as separate conversions.
The referral sources include 'localhost' (1 session), 'beststartup.us' (1 session — known spam referral domain), 'sanganzhu.com' (1 session — suspicious), and 'statics.teams.cdn.office.net' (1 session — Microsoft Teams link previews, internal traffic). Additionally, 'internal-crm.salesforce.com' (3 sessions — Salesforce CRM, likely internal sales team) is polluting traffic data.
The bigQueryLinks array is empty. With data retention set to only 2 months and no BigQuery export, there is no raw event-level data backup. Once data ages out of GA4, it is permanently lost with no recovery path.
The GA4 property 'ridgeline-prod' (properties/471829364) has industryCategory set to 'UNSPECIFIED'. This means GA4 cannot provide industry benchmarking comparisons, and Google's machine learning models for anomaly detection and predictive audiences are not optimized for the correct vertical.
Direct/(none) accounts for 489 of approximately 899 total sessions (54.4%) with a 79.3% bounce rate. This is abnormally high for a specialty hardwood retailer. Elevated direct traffic typically indicates: (1) missing UTM parameters on email campaigns, (2) dark social shares being misattributed, (3) HTTPS-to-HTTP referral stripping, or (4) the '(not set)' landing page issue funneling untagged sessions into direct.
Weekly conversion data shows severe volatility: Week 8 (8 conversions), Week 9 (29 conversions), Week 10 (2 conversions), Week 11 (11 conversions). A drop from 29 to 2 conversions in consecutive weeks with similar session volumes (345 vs. 201) is a 93% decline that is unlikely to reflect real business performance. This pattern strongly suggests conversion tracking fires inconsistently — possibly tied to a specific page load condition, A/B test variant, or tag firing rule that is intermittently active.
The customDimensions array is empty. GA4 collects event parameters (e.g., form_type, product_category, page_type) but without registering them as custom dimensions, these parameters are invisible in standard reports, Explorations, and audience builders. Given multiple product categories (flooring, timbers, veneers, siding, mantels) and multiple form types, this is a significant reporting gap.
+3 more findings in full report
GTM Findings
Tags 'Footer - Contact Form Send' (tagId: 12) and 'Click - Footer Contact Form Send' (triggerId: 11) rely on click triggers rather than a confirmed form submission event. Click triggers fire when a user clicks the submit button but do not confirm the form was actually submitted successfully. This means failed submissions, validation errors, or bot clicks are counted as conversions. The same pattern applies to 'Click - Talk To An Expert' (tagId: 6) using click triggers 3 and 17, and 'Click - Contact' (tagId: 8) using triggers 7, 16, and 27.
Multiple conversion events are tracked with two separate click triggers each — one for the button element and one for the text inside the button. This pattern appears for: 'Click - Talk To An Expert' (triggers 3 + 17), 'Click - Contact' (triggers 7 + 16), 'Click - Home Page Brochure' (triggers 9 + 15), and 'Footer - Contact Form Send' (triggers 11 + 18). If a user clicks the button text, both triggers may fire simultaneously, causing double-counting of the same interaction.
The base GA4 configuration tag (tagId: 5, type: googtag) is named simply 'GA4' with no Measurement ID or property name referenced in the tag name. In containers managing multiple properties or environments, this creates ambiguity about which GA4 property is being configured.
Tag and trigger names follow inconsistent patterns. Examples: tag is named 'Footer - Contact Form Send' (tagId: 12) but its primary trigger is named 'Click - Footer Contact Form Send' (triggerId: 11) — different prefix conventions. Trigger 16 is named 'Home Page Contact - Text' while its sibling trigger 7 is named 'Click - Home Contact', dropping the 'Click -' prefix.
The container has only 3 variables: 'gtm.linkClick' (variableId: 32), 'Custom Event Click Link' (variableId: 33), and 'Custom Event' (variableId: 34). There are no variables configured to capture click text, click URL, click element, page path, or form field values. All GA4 event tags are likely firing with no additional event parameters beyond the event name itself.
Tag 'elementor_form_submission_datalayer_push' (tagId: 29, type: html) fires on the 'elementor_form_submission' custom event (triggerId: 28) with no blocking triggers configured. Without visibility into the tag's HTML content, there is no safeguard against this tag firing on unintended form submissions if the Elementor event fires for non-lead forms (e.g., newsletter signups, search forms, or multi-step form intermediate steps).
Four separate GA4 event tags exist for social media outbound clicks: 'Click - Facebook' (tagId: 20), 'Click - Instagram' (tagId: 22), 'Click - Pinterest' (tagId: 24), and 'Click - Houzz' (tagId: 26). Each fires on its own individual linkClick trigger. These could be replaced with a single 'Click - Social Media' tag using one consolidated trigger and a variable to dynamically capture the destination.
The container uses only 'Default Workspace' (workspaceId: 6) with no description, and no additional workspaces are present. This suggests all changes are made directly in the default workspace without a staging or QA workspace, and there is no evidence of GTM Environments being used to separate production and development tracking.
Search Console Findings
The indexCoverage object reports 'indexedUrls: 00' against 'totalSubmittedUrls: 0118'. These malformed values suggest a data parsing error or a genuine GSC coverage reporting problem. If literal, zero indexed URLs against 118 submitted URLs means the entire site may be deindexed or experiencing a severe crawl/index block. This is the single most urgent issue to verify directly in GSC's Index Coverage report.
Comparing priorTrend90Days (Oct–Dec 2025) to trend90Days (Jan–Mar 2026), average daily position has worsened materially. In October 2025, daily average positions frequently ranged 13–17. By January–February 2026, positions consistently sit at 20–28. March 2026 shows some recovery toward 15–19 but remains weaker than the Oct 2025 baseline. This represents a sustained ranking regression across the site's keyword portfolio.
The homepage generates 3,635 impressions but only 64 clicks at an average position of 17.74. Position 17 places the homepage on page 2 for most queries, making it effectively invisible for non-branded searches. The 1.76% CTR is consistent with page 2 performance but represents a massive missed opportunity given the impression volume.
The top 3 queries by clicks are all branded: 'Ridgeline Lumber Co.' (18 clicks, pos 1.86), 'Ridgeline Lumber' (6 clicks, pos 1.6), and 'ridgelinelumber' (3 clicks, pos 1.78). These 27 branded clicks represent approximately 20% of total site clicks. Non-branded commercial queries like 'mushroom wood for sale' (1 click), 'old barnwood for sale' (1 click), and 'reclaimed barnwood' (2 clicks, pos 25.3) are severely underperforming.
The primary reclaimed barnwood product page receives 615 impressions — the second highest impression count of any page — but ranks at position 25.3 with only 2 clicks and a 0.33% CTR. This is a high-demand product category that is failing to convert impressions into traffic. The /brown/ subcategory has 288 impressions at position 46.3 with only 1 click.
The About page ranks at position 9.9 — near the bottom of page 1 — with 466 impressions but only 3 clicks and a 0.64% CTR. A page ranking in the top 10 should achieve 2–5% CTR minimum. The extremely low CTR suggests the title tag and meta description are not compelling or relevant to the queries triggering impressions.
The top blog post ('19 Beautiful Reclaimed Wood Projects') has 972 impressions — the highest of any page — but only 1 click and a 0.10% CTR at position 8.6. The post's title references an outdated year and lacks a compelling hook. The barn doors blog post has 582 impressions at position 12.7 with 13 clicks (2.23% CTR). The reclaimed projects post is severely underperforming given its impression volume and near-page-1 ranking.
The sitemap index file has 2 warnings reported by GSC. While errors are 0, warnings typically indicate issues such as URLs returning non-200 status codes, URLs blocked by robots.txt, or URLs that are not indexed. With only 118 total submitted URLs, even 2 problematic URLs represent ~1.7% of the submitted inventory.
A paginated reviews URL (/?reviews-page=2) is appearing in GSC with 142 impressions at position 4.05 and 1 click. Paginated parameter URLs like this should typically be canonicalized to the homepage or excluded from indexing, as they represent thin/duplicate content and can dilute crawl budget.
Across the 90-day trend period (Jan–Mar 2026), daily clicks consistently range from 1–11, averaging approximately 4–5 clicks per day sitewide. Total estimated clicks for the 90-day period are approximately 400–450. For a specialty e-commerce business selling reclaimed hardwood products, this organic traffic volume is critically insufficient to sustain meaningful revenue from the organic channel.
+1 more finding in full report
Google Ads Findings
Google Ads account 7423816509 contains zero campaigns. The account has recorded no impressions, clicks, or spend. This means the business has no active paid search or display presence whatsoever, leaving potential customers unable to find the business through Google Ads.
Account 7423816509 has no conversion actions defined. Without conversion tracking, there is no way to measure ROI, optimize bidding toward business outcomes, or determine which campaigns, ad groups, or keywords are driving leads or sales. This is a foundational gap that would undermine any future campaign performance.
Total cost is $0.00 with zero impressions and zero clicks across the entire account history returned. This indicates the account is either brand new, all campaigns are paused/removed, billing is not configured, or the account has been inactive for an extended period.
Auto-tagging is correctly enabled on account 7423816509. This ensures that when campaigns are launched, Google Click Identifier (GCLID) parameters will be automatically appended to destination URLs, enabling proper attribution in Google Analytics 4 and accurate cross-platform reporting.
Get your stack audited.
Connect your Google account and get a full 5-platform diagnostic — GA4, GTM, Search Console, Google Ads, and PageSpeed — in under 5 minutes.