Skip to main content

Changelog

= 0.54.62 =
* First separated AttribuLead Pro stable package with immutable build-time edition enforcement.
* Preserves the complete EDD Software Licensing SDK and self-hosted Pro updater.
* Excludes development-only CRM providers, webhooks, experimental models, and preview revenue synchronization.

= 0.54.61 =
* Security and correctness: audit prepared dashboard, lead, revenue, traffic, CRM, export, attribution, journey, and commerce queries; fix dynamic pagination and bounded backfill preparation while preserving report calculations.
* Request handling: strengthen validation and unslashing in state-changing admin dispatchers without changing public tracking, form capture, REST, consent, CRM, commerce, or revenue contracts.
* WordPress.org readiness: add complete translator guidance, a valid languages directory, accurate Composer metadata, and a WordPress-safe high-density product-icon filename.
* Packaging: extend the deterministic Dev manifest and package gate while preserving the complete vendor directory and EDD Software Licensing SDK.

= 0.54.60 =
* Dashboard reporting: reconcile human-visitor totals, trends, attribution recovery, channels, campaigns, landing pages, recommendations, and exports through the canonical Traffic Intelligence identity population.
* Admin UI: restore the WordPress sidebar Dashicon and correct the admin-bar update action sizing and spacing without brittle positioning.
* Compatibility: preserve the database schema, tracking, attribution, consent, CRM, commerce, and revenue behavior while retaining PHP 7.4 support.

= 0.54.59 =
* Visitor Intelligence: use the same date-bounded classified identity population as Traffic Intelligence and lead with human visitors, with bots and unknown identities shown separately.
* Reporting: reconcile dashboard and report totals, clarify distinct identities versus sessions and pageviews, and align CSV columns with the visible breakdown.
* Admin UI: correct the toolbar action row spacing and replace the product mark with the supplied high-density AttribuLead icon.
* Scope: reporting and presentation correction only; no tracking, attribution, consent, CRM, commerce, revenue, or database changes.

= 0.54.57 =
* Expand Journey Insights with filtered coverage context, channel journey metrics, adaptive durations, consistent length buckets, and responsive tables.
* Restore the full Campaign Performance Campaign Assets action with edition-aware gating.
* Restore the full-width, centered AttribuLead toolbar CTA and standard report-card spacing.

= 0.54.56 =
* Base Journey Insights on genuine converted visitors and their recorded touchpoints instead of requiring legacy revenue rows.
* Correct date filtering, diagnostic exclusion, conversion timing, path construction, entry and closing channels, and single-touch versus multi-touch reporting.
* Add honest empty states and a privacy-safe Journey Report Health summary without changing attribution capture or stored historical data.

= 0.54.55 =
* Align the paired Lead Profile disclosures and load the scoped toolbar CTA styling on every eligible admin and front-end toolbar.
* Add the edition-aware Campaign Assets action and useful campaign links that preserve campaign, source, medium, and date context.
* Add an accessible attributed-revenue trend and safe currency-specific reporting, filtering, formatting, reconciliation, and exports.

= 0.54.54 =
* Align Lead Profile disclosure headers with a concise Lead Info description and safe wrapping around controls.
* Convert Raw Data to the shared accessible disclosure component and preserve the standard full-width grid gap.

= 0.54.53 =
* Correct Organic Search recovery when internal navigation follows a Google or other recognized search referral.
* Add authoritative internal-referrer protection, safe social hostname matching, expanded paid-click coverage, and honest Direct/Unknown handling.
* Keep visitor, conversion, dashboard, export, CRM, and revenue consumers aligned to the stored effective Lead Channel.
* Add rule-set versioning, richer simulator explanations, AI-crawler separation, and a comprehensive deterministic channel regression matrix.

= 0.54.52 =
* Correct the Lead Profile two-column card order, paired disclosure controls, compact attribution timeline, Campaign Context wrapping, and CRM mapping layout.
* Make the Lead Profile CRM action reflect saved connection readiness and validation state without making a remote request.
* Load the edition-aware toolbar CTA styling on the first authenticated front-end request.

= 0.54.51 =
* Added a restrained contextual banner system for relevant license, update, setup-value, milestone, commerce, traffic, CRM, and Campaign Assets guidance.
* Added secure per-user dismissals with appropriate cooldowns, AJAX enhancement, graceful form fallback, and a compact Account reset control.
* Kept promotions inside AttribuLead pages, limited messaging to released Stable Pro capabilities, and preserved all feature gates and reporting behavior.

= 0.54.50 =
* Added the persisted original external referrer to the Leads table and Lead Profile with safe hostname display and protected external links.
* Reorganized Lead Profile cards into the Premium UI responsive two-column layout, with Raw Data retained full width.
* Added reusable, accessible 10/50/100 pagination across qualifying Leads, Campaigns, Companies, Traffic, Journey, Revenue, CRM, Sync, Traffic Rules, and Campaign Assets tables.
* Preserved full filtered exports, validated page bounds and independent table parameters, and retained the complete production vendor dependencies.

= 0.54.49 =
* Corrected the installable ZIP to use portable forward-slash entry paths and one recognized `attribulead/` plugin root.
* Added release validation for entry separators and the exact `attribulead/attribulead.php` activation path; plugin behavior is unchanged from 0.54.48.

= 0.54.48 =
* Fixed the Dashboard Traffic Insight spacing rule to target the Dashboard’s actual wrapper, so the bulb icon and copy no longer touch the accent rail or card edges.
* Strengthened regression coverage to verify that the live Dashboard wrapper and its matching CSS selector remain aligned.

= 0.54.47 =
* Corrected Dashboard Traffic Insight padding so the icon and copy maintain a balanced inset from the semantic accent rail and card edges.
* Added explicit icon sizing, title/body spacing, long-copy wrapping, and a compact mobile inset without changing Traffic Intelligence calculations or behavior.

= 0.54.46 =
* Matched the Premium UI Leads table density, compact dates, row navigation, selected-row treatment, responsive filters, and table-owned accessible pagination.
* Added validated 10, 50, and 100 row page sizes with bounded LIMIT/OFFSET queries, matching filtered counts, parameter preservation, and page clamping.
* Captured the first valid external referring site without query strings or fragments, preserved it on the visitor, snapshotted it on conversion, and exposed it safely in lead, visitor, and CSV views.
* Restored the capability-gated AttribuLead toolbar menu on public pages without loading the full admin stack.
* Compacted Account update status beneath licensing actions and standardized AttribuLead primary buttons on graphite rather than WordPress blue.
* Added the idempotent `original_referrer` conversion column and advanced the database version to 2.9.0.

= 0.54.45 =
* Reframed the Free and Pro comparison around verified customer outcomes while excluding development-only, stubbed, and unavailable capabilities.
* Rebuilt the Leads header, filters, four-card summary, responsive controls, confidence explanation, and table density to match the shared premium UI system.
* Standardized non-Dashboard page-header Export actions and corrected balanced Traffic Insight card padding.
* Added development-only regression coverage for capability truthfulness, feature gates, shared Export styling, Leads structure, and Traffic Insight spacing.
* No attribution, tracking, CRM synchronization, commerce synchronization, revenue calculation, licensing, feature-gating, or database schema changes.

= 0.54.44 =
* Corrected the WordPress installation package structure by removing the unintended versioned outer directory behavior.
* Added a development-only installation-package regression gate that verifies raw ZIP paths, the single `attribulead/` root, and the expected plugin basename.
* No attribution, tracking, CRM, commerce, reporting, or database schema changes.

= 0.54.43 =
* Fixed Traffic Intelligence date-range SQL preparation so dynamic dates always pass through WordPress’s prepared-query API.
* Prevented raw placeholders from reaching MySQL and added development-only regression coverage for preset, custom, partial, empty, and no-data ranges.
* Preserved all reporting calculations and filtering semantics; no database schema or database-version changes.

= 0.54.42 =
* Standardized responsive containment, narrow-screen header actions, tabs, and touch targets across AttribuLead admin screens.
* Added consistent keyboard focus treatment for native disclosure and dashboard date controls.
* Consolidated legacy dashboard colour aliases into the existing design-token system and strengthened long-content wrapping.

= 0.54.41 =
* Performance: avoid invoking `update_option()` when credential-migration state is unchanged on ordinary requests.
* Quality assurance: repair stale CRM/version regression assertions and remove a test-generated undefined-variable notice.
* Packaging: synchronize the plugin header, version constant, Stable tag, and changelog metadata.
* Scope: no attribution, tracking, consent, CRM mapping, commerce, revenue, schema, database-version, or visible UI changes.

= 0.54.17 =
* Packaging correction: restore the bundled EDD Software Licensing updater SDK and Composer runtime omitted from the 0.54.16 ZIP.
* Preserve the streamlined dashboard revenue card introduced in 0.54.16 without changing commerce attribution or reporting behavior.

= 0.54.16 =
* Streamlined the dashboard revenue presentation into one compact card below AttribuLead Insights.
* Removed dashboard-only revenue source diagnostics and the repeated revenue insight banner.

= 0.54.15 =
* Commerce repair: revisit order IDs already present in unmatched Revenue Events even when incremental sync correctly finds no changed orders.
* Purchase conversions: create the missing Customer conversion before relinking existing immutable financial events.
* Duplicate safety: repair links in place without importing revenue again or creating duplicate Revenue Events.
* Diagnostics: report the number of unmatched conversion repairs attempted and created during the last commerce sync.

= 0.54.14 =
* WooCommerce reconciliation: repair a missing Checkout Block identity across a wider purchase window only on an unambiguous single-visitor installation.
* Safety: never use the wider historical fallback when more than one visitor exists, preventing speculative customer-to-campaign matches.
* Compatibility: retain the immediate cookie/session correlation for all new classic and Store API purchases.

= 0.54.13 =
* WooCommerce Checkout Blocks: capture the AttribuLead visitor through Store API checkout hooks as well as classic checkout.
* Purchase conversions: create and correlate the Customer conversion before manual or automatic WooCommerce revenue import.
* Reconciliation: conservatively recover a missing checkout identity from an existing lead email or the only visitor in the purchase window.
* Guest customers: count WooCommerce guests with a privacy-safe keyed email hash; raw checkout emails are not added to Revenue Event metadata.
* Historical compatibility: recognize guest customers in previously imported WooCommerce events and repair duplicate events with their newly resolved conversion link.

= 0.54.12 =
* Admin display: remove generic translator notes that could render as visible text in reports and Lead Profile panels.
* Commerce customers: count distinct EDD and WooCommerce customer identities independently of lead-attribution matching.
* Revenue consistency: use the same commerce customer identity for summary, product, channel, campaign, and customer breakdowns.
* Revenue terminology: present the mixed company/individual buyer report as Revenue by Customer and clearly distinguish unidentified commerce customers.

= 0.54.11 =
* Revenue highlights: choose top channel and campaign from attributable groups instead of allowing Unknown or Unassigned historical revenue to become the headline.
* Customer consistency: count identifiable customers consistently in Revenue Summary and Revenue by Product; unmatched orders remain orders, not invented customers.
* Customer identity: use a stored company or lead email for company/customer reporting, with a neutral individual-customer fallback.
* Dashboard: detect revenue across all dates for the Revenue CTA and remove the repeated no-revenue card.
* Lead Profile: surface Customer status and attributed revenue in the first-glance summary, rename the lifecycle panel to Customer & Revenue, and use a compact responsive summary grid.

= 0.54.10 =
* Revenue page: replace the legacy zero-value CSV center with Revenue Event totals, customers, channels, and campaigns whenever synchronized revenue exists.
* Revenue sync: add provider-specific manual sync controls directly to the Revenue page and execute bounded manual checks immediately instead of waiting for WP-Cron.
* Revenue UX: hide CSV import language and controls after synchronized revenue is detected; retain manual CSV compatibility only when no Revenue Events exist.
* Navigation: return administrators to the Revenue page after a manual native-commerce synchronization.

= 0.54.9 =
* Revenue Attribution page: use Revenue Event data consistently for totals, customers, channels, campaigns, companies, and AI revenue whenever event data exists.
* Compatibility: retain legacy revenue-table reporting only for sites that have no Revenue Events.
* Diagnostics: report privacy-safe counts for revenue events linked by lead, linked by visitor, or missing an attribution identity.

= 0.54.8 =
* Commerce attribution: fall back to the canonical visitor attribution when an EDD order retained its visitor UUID but not a conversion ID.
* EDD reconciliation: support conversion-code matching and a bounded same-visitor, nearest-purchase-time match when the checkout path did not expose the order ID.
* Revenue reporting: campaign, channel, and landing-page reports now preserve conversion snapshots first and use visitor attribution only when that link is absent.
* Cache repair: a manual commerce check clears previously generated unassigned revenue summaries even when no database link needs updating.

= 0.54.7 =
* EDD attribution: match imported revenue events to purchase conversions deterministically by provider and order ID.
* Revenue reconciliation: repair previously imported unmatched commerce events without duplicating or rewriting financial history.
* Commerce status: distinguish reconciled events from events that still require review, and reconcile immediately when an administrator requests a commerce check.
* Traffic Intelligence: show all unique identities separately from marketing visitors so localhost and internal development traffic is explained instead of appearing missing.
* Diagnostics: send JSON exports before admin output and report event-based customer, currency, date, channel, campaign, and reconciliation values.
* Revenue settings: show HubSpot synchronization controls only when HubSpot is the selected CRM provider.

= 0.54.6 =
* Load the core Feature gate explicitly before early commerce scheduler callbacks.
* Add a defensive commerce feature check so an autoloader failure cannot cause a site-wide fatal error.

= 0.54.5 =
* Replace timezone-sensitive date formatting with WordPress-aware date formatting.
* Document required CSV stream exceptions for WordPress filesystem checks.
* Document prepared dynamic-report SQL where table identifiers come from the plugin schema and runtime values remain parameterized.
* Annotate translated report strings that use numbered, escaped placeholders.
* Preserve the licensed self-hosted updater; WordPress.org distribution requires a separate updater-free package.

= 0.54.4 =
* Fix Revenue Attribution settings not saving by removing invalid nested commerce forms.
* Keep Native Commerce controls visible and independently actionable within the Revenue tab.
* Change the dashboard revenue CTA from Configure Revenue to See Revenue when financial activity is detected.

= 0.54.3 =
* Capture confirmed WooCommerce and Easy Digital Downloads purchases as attributed Customer conversions even when revenue reporting is disabled.
* Keep monetary revenue import controlled by the Revenue Attribution setting.
* Clarify revenue and native-commerce states in Diagnostics and Settings.

= 0.54.2 =
* Classify standard form submissions as Marketing Qualified lifecycle events.
* Keep newsletter and mailing-list submissions at the Lead lifecycle stage.
* Classify confirmed WooCommerce and Easy Digital Downloads purchases as Customers.
* Prevent pending, failed, cancelled, or abandoned orders from creating purchase conversions.

= 0.54.1 =
* Fixed a front-end tracker error that prevented UTM visits from being recorded in 0.54.0.
* Fixed Easy Digital Downloads checkout correlation by storing the visitor identifier when the order is created.
* Enabled native commerce automatically for existing Pro installations when Revenue Attribution is enabled.
* Updated Diagnostics to report immutable revenue events and EDD commerce processing status.

= 0.54.0 =
* Added automatic revenue attribution for WooCommerce and Easy Digital Downloads.
* Connected purchases and refunds to channels, campaigns, landing pages, visitor journeys, and leads.
* Added native commerce revenue reconciliation, historical imports, and unmatched-order review.
* Added support for recurring revenue where compatible subscription extensions are installed.
* Improved revenue timelines, reports, diagnostics, and exports.

= 0.53.1 =
* HubSpot Revenue: add the first production Revenue Provider adapter for Deals, contacts, companies, owners, pipelines, and associations.
* Permissions: validate every required HubSpot read surface before importing; missing access stops the complete sync.
* Incremental sync: search by modified date, continue bounded pages, preserve the last successful cursor, and queue manual/scheduled work.
* Immutable history: append stage, owner, pipeline, currency, close-date, amount, won, lost, revenue, and archive changes without rewriting prior events.
* Matching: evaluate associated contacts and companies with shared confidence-based matching; surface unmatched opportunities under Needs Review.
* Operations: add synchronization preview, progress/status, retry, match/duplicate diagnostics, configurable stage mapping, and privacy-safe logs.
* Scope: no attribution, outbound CRM, Campaign Context, Visitor Intelligence, or schema changes.

= 0.53.0 =
* Revenue Timeline: add immutable lifecycle, opportunity, revenue, renewal, expansion, and refund events.
* Revenue Intelligence: add one provider-independent API for timelines, summaries, campaigns, channels, landing pages, companies, and AI referrals.
* CRM revenue sync: add incremental scheduled/manual synchronization, duplicate prevention, match confidence, status, and diagnostics.
* Reporting: add attributed revenue, pipeline, closed won, average deal, sales cycle, deterministic insights, and new timeline/pipeline/landing-page exports.
* Multi-currency: preserve original values and add normalized values, rates, and exchange timestamps for USD, CAD, EUR, and GBP.
* Compatibility: retain the existing revenue table and CRM delivery behavior; attribution and Campaign Context are unchanged.
* ROI/ROAS: remain unavailable until verified advertising-cost data is connected.

= 0.52.2 =
* Traffic Intelligence: reserve Unique Visitors for human and human AI-referral identities; label the complete human-and-automated population Classified Identities.
* Marketing eligibility: automated and unknown-bot categories can no longer become Marketing Visitors when an optional report exclusion is disabled.
* Explainability: distinguish inherent marketing eligibility from optional general-report inclusion settings.
* Scope: reporting semantics hotfix only; no attribution, CRM, revenue, or schema changes.

= 0.52.1 =
* Executive summary: calculate Marketing Visitors from the same canonical visitor cohort used by the dashboard before describing it as a subset.
* Consistency: prevent Marketing Visitors from exceeding the corresponding visitor total in executive copy, including with incomplete legacy traffic records.
* Scope: reporting consistency hotfix only; no tracking, attribution, CRM, revenue, or schema changes.

= 0.52.0 =
* Bot Filtering: add a centralized, configuration-driven rule engine with weighted multi-signal classification and human confidence.
* Signatures: recognize major search, AI, SEO, social-preview, security, monitoring, and scanner services.
* Reporting: add optional non-destructive bot filters, Visitor Quality, service summaries, Landing Page Quality, and Campaign Quality.
* Rules: add local testing, whitelist, blacklist, classification, enable/disable, search, and JSON import/export controls.
* Diagnostics: add Bot Validation comparing raw traffic, marketing traffic, automated traffic, unknown traffic, and confidence.
* Privacy: bots remain stored for transparent reporting; filters never delete data and raw IP addresses are not stored.
* Scope: additive Traffic Intelligence improvements only; attribution, CRM, and revenue behavior are unchanged.

= 0.51.9 =
* Plugin Check: escape report sort URLs, lead lifecycle output, progress values, and health values at output time.
* Internationalization: add translator context for dynamic placeholder strings and use ordered placeholders for CRM diagnostics.
* Database checks: document internally generated table identifiers and prepared query paths for Traffic Intelligence cleanup and audit helpers.
* Scope: standards and security-hardening release; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.8 =
* Tooltips: use a white tooltip with dark text only inside AttribuLead Insights; retain dark tooltips everywhere else.
* Scope: presentation-only update; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.7 =
* Tooltips: restore visible viewport positioning by preserving the calculated left and top coordinates above CSS inset defaults.
* Scope: presentation-only hotfix; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.6 =
* Tooltips: render visible bubbles at document level, cap them at 260 pixels, and constrain them to viewport margins so cards and tables cannot clip them.
* Settings tabs: move the active indicator from the top edge to the bottom edge.
* Lead Profile: remove the repeated Effective Source panel and collapse attribution, campaign, CRM, and journey detail cards until requested.
* Scope: presentation-only release; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.5 =
* Tooltips: standardize information bubbles with a dark background, white text, sentence-case headings, and viewport-aware edge positioning.
* Dashboard status: remove routine Ready and Pro Active pills; show a License expired warning only when the saved license state is expired.
* Scope: presentation-only release; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.4 =
* Dashboard date selector: refine the preset and custom-date layout for clearer desktop and mobile use.
* Settings: arrange related General and Integration controls in responsive two-card layouts to reduce scrolling.
* Settings navigation: strengthen the tab shape and active-state distinction.
* Admin branding: add the AttribuLead icon to page headings throughout the plugin.
* Scope: presentation-only release; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.3 =
* Dashboard header: replace seven competing date buttons with a compact calendar and preset-range panel beside Campaign Assets.
* Dashboard layout: pair Attribution Recovery with Traffic Intelligence through tablet widths and equalize cards within shared rows.
* Dashboard clarity: remove the repeated Tracking Quality, Marketing, and Highlights metric strip.
* Tooltips: keep dashboard, table, Traffic Intelligence, and confidence tooltips inside the viewport with consistent sentence-case styling.
* Tables: remove horizontal scrolling from dashboard Channel and Campaign comparisons and fit their columns to the card.
* Navigation: add Account below Settings, remove Manage License from the toolbar, and keep the edition-aware green action last.
* Admin UI: apply shared card-height, spacing, wrapping, and readability rules across plugin pages.

= 0.51.2 =
* Traffic Intelligence: integrate Marketing Visitors into the executive summary and add deterministic Traffic Insights.
* Traffic report: add date and traffic-type filters, compact trend visualization, explanatory tooltips, and report/CSV column parity.
* Visitor Intelligence: rename the dashboard section and replace stacked KPI cards with a responsive executive summary.
* Statistical confidence: complete the information-icon treatment without changing thresholds or conversion calculations.
* Scope: presentation-only release; no tracking, attribution, CRM, schema, or database-version changes.

= 0.51.1 =
* Defaults: enable Store Email + Name + Company with 90-day retention on fresh installations.
* Privacy: preserve every existing site’s saved Lead Data Storage choice and keep Disabled available at any time.

= 0.51.0 =
* Lead identity: recognize WPForms email fields by semantic input type even when the builder uses generated field names.
* Lead details: optionally capture and display the submitted message or comment when Lead Data Storage is enabled.
* Privacy: include messages in lead anonymization and privacy deletion, with a 5,000-character storage limit.
* Email: retain valid free-provider addresses for lead identity while continuing to exclude them only from company-domain inference.

= 0.50.9 =
* Conversion Debug: show the expandable Developer instructions directly below the compatible-forms table that refers to them.
* Instructions: add clear ownership, setup, example-label, and testing guidance for manual form connections.

= 0.50.8 =
* Instructions: replace developer-first form setup language with a simple three-step guide for non-technical users.
* Instructions: place code in a clearly labeled Developer instructions section that users can forward to their website manager.
* Diagnostics: explain iframe limitations in plain language and point users to the exact setup location.

= 0.50.7 =
* WPForms: register completion callbacks at early init so they are attached before WPForms processes frontend submissions.
* WPForms AJAX: record conversions from WPForms’ documented success event as a duplicate-safe fallback.
* Campaigns: capture the original page URL inline before deferred scripts or UTM utilities can clean query parameters.
* Campaigns: submit the preserved landing URL with WPForms for server-side UTM recovery.

= 0.50.6 =
* WPForms: recover the visitor and campaign when a successful submission reaches WordPress before the browser tracking request completes.
* Campaigns: reconstruct UTM and click-ID context from WPForms’ submitted page URL so first-page conversions are not lost.
* Privacy: apply the configured consent mode before performing submission recovery.
* Accuracy: leave session and pageview counting to the browser tracker, preventing recovery from inflating traffic totals.

= 0.50.5 =
* Design: consolidate dashboard and admin-page spacing into a consistent 4/8/12/16/20/24px rhythm.
* Dashboard: remove compounded grid and section gaps that produced oversized whitespace.
* Cards: stop forcing unequal content cards to equal heights, eliminating large empty interiors.
* Components: standardize card padding, headings, KPI grids, forms, tables, and empty states across admin pages.
* Responsive: normalize anonymous-intelligence layouts and remove remaining inline dashboard grid spacing.

= 0.50.4 =
* Documentation: add an in-plugin compatibility table for WordPress, CRM, custom, and iframe forms.
* Setup: show exact Gravity Forms, Contact Form 7, and custom-form hidden-field instructions using the configured visitor field name.
* Diagnostics: explain automatic versus manual callback integrations and clarify cross-origin form limitations.
* Consent: replace the broad compatibility claim with the exact supported consent signals.

= 0.50.3 =
* Forms: add automatic WPForms conversion recording with no builder field required.
* Consent: support CookieAdmin Accept/Reject controls, WordPress Consent API signals, and post-acceptance tracking without a reload.
* Diagnostics: keep real and diagnostic attempts separate, add one-click diagnostic reset, and clarify integration-specific setup.
* Reliability: fix first-page WPForms UUID injection and the fresh-install consent setting key.

= 0.50.2 =
* Security: apply origin checks and rate limiting before all public tracking writes.
* Accuracy: distinguish unique visitors, 30-minute sessions, and pageviews in Traffic Intelligence.
* Privacy: add daily rotating anonymous bot identity hashes without storing raw IP addresses.
* Reliability: align consent checks, harden UUID/query parsing, and add transport fallback.
* Storage: add bounded daily retention cleanup for classified traffic events.

= 0.50.1 =
* Cleaner reports: the “Low sample” badge has been replaced everywhere with a subtle information icon next to the conversion rate. Hover or focus it to see, in plain English, how many visitors and leads the rate is based on and why early results can change.
* The information appears only when a rate is based on limited traffic, and it is fully keyboard- and screen-reader accessible.

= 0.50.0 =
* Traffic Intelligence is here: a new dashboard card and dedicated report show your total visitors alongside a breakdown of humans, AI referrals, search bots, security scanners, monitoring, and more.
* See your Marketing Visitors (humans and AI referrals), your marketing-traffic percentage, and an at-a-glance Traffic Quality rating — so you understand why visitor counts differ between analytics tools.
* Every traffic type is explained in plain language, the report is sortable and exportable to CSV, and no personal data is shown. Attribution, tracking, and your existing reports are unchanged.

= 0.49.7 =
* Cleaner executive dashboard: the performance summary now lives inside the dark Insights hero, and the duplicate Visitors → Leads → Conversion Rate strip has been removed — the dashboard is shorter and easier to scan.
* Visitors, Total Leads, and Conversion Rate now appear at the top of the Leads page, where conversions are measured.
* The Performance section now opens with the trend graph.

= 0.49.6 =
* Traffic Intelligence accuracy: AttribuLead now separates human visitors who arrive via an AI assistant from automated AI crawlers, and no longer counts crawlers, scanners, or monitoring bots as marketing traffic. A browser is required before a visit is treated as human.
* New admin-only Traffic Intelligence audit in Diagnostics that explains your visitor number (single-page visits, conversions, classified traffic types, blocked bots) with no personal data — plus a safe one-click reclassify action.

= 0.49.5 =
* Groundwork for Traffic Intelligence: AttribuLead now classifies incoming traffic (human, AI assistant, search engine, SEO/monitoring/security bots, and more) with a confidence score and reasons, stored privately alongside your existing data. Your marketing reports and attribution are unchanged.

= 0.49.4 =
* Reorganized the dashboard around one continuous Performance story: Executive Performance, trend graph, grouped KPI cards, Attribution Recovery, Channels, Campaigns, Landing Pages, and AI Performance.
* Grouped the supporting KPIs (Tracking Quality, Marketing, Highlights) and renamed “Attribution Health” to the clearer “Tracking Health”.
* Tightened spacing and unified typography and card styling for a calmer, more premium feel.

= 0.49.3 =
* Unified the dashboard into one continuous Performance section: an Executive Performance overview, the trend graph as the centerpiece, then supporting KPI cards, Channel, and Campaign performance.
* Removed duplicated Visitors/Leads/Conversion Rate metrics so each number appears once.
* Refined spacing, typography, and trend-graph presentation for a cleaner, premium feel.

= 0.49.2 =
* Improved the executive performance overview and dashboard layout.
* Added a dedicated Campaign Performance report.
* Added clearer license and plugin-update actions.
* Added a convenient AttribuLead menu to the WordPress toolbar.
* Improved dashboard spacing, typography, and visual consistency.

= 0.49.1 =
* Executive dashboard polish: a plain-language Executive Summary now sits at the top of the Performance section, followed by the trend graph.
* Channel and Campaign performance now use the same clean table layout as Top Landing Pages, with progress bars for easy scanning.
* New AttribuLead menu in the WordPress admin toolbar with quick links to your dashboard, leads, channels, campaigns, companies, revenue, CRM, and settings — plus an Upgrade to Pro shortcut (or license shortcuts on Pro).
* Smoother visuals: an animated trend line, subtle card hover, refined spacing and typography.

= 0.49.0 =
* New Performance Trend graph at the top of the dashboard: Visitors, Leads, and Conversion Rate over time, with quick 7-day, 30-day, 90-day, and 12-month views.
* Built for clarity — traffic and leads share one panel while conversion rate sits in an aligned panel below, with hover and keyboard tooltips, a screen-reader summary, a data-table view, and a friendly empty state.
* Fast and private: the chart renders instantly from your existing reporting data with no external scripts, no network calls, and no personal data in the chart.

= 0.48.8 =
* Landing Pages, AI Performance, and dashboard Recommendations now use the same reporting engine as the rest of the dashboard, so every number matches across the board — with your home page grouped into a single row and zero-lead pages kept visible.
* Export Center now offers Landing Pages and AI Performance downloads, and all CSV exports draw from the same figures shown on the dashboard.
* CSV exports are now hardened against spreadsheet formula injection for safer sharing.

= 0.48.7 =
* The dashboard now shows an Overall Performance funnel (Visitors → Leads → Conversion Rate) plus Channel Performance and Campaign Performance with visitors, leads, and conversion rate.
* High-traffic sources and campaigns that produced no leads now stay visible, and low-sample rows are flagged so small numbers aren’t over-read.

= 0.48.6 =
* Groundwork for upcoming performance trend charts, with consistent daily/weekly/monthly funnel data.
* Expanded reporting self-checks in Diagnostics.

= 0.48.5 =
* Reporting foundation: added reusable funnel and summary reports (Visitors → Leads → Conversion Rate, plus top channel/campaign/landing/AI) so every current and future report shares one calculation.
* CRM mapping health now focuses on the core attribution fields — leaving optional fields unmapped no longer lowers your score.

= 0.48.4 =
* Easier CRM campaign mapping: smart recommendations that match your existing CRM properties, automatic validation on save, a mapping health summary, and a live payload preview of exactly what will be sent.
* Export and import your campaign mapping to reuse it across sites (mappings only — never credentials).
* Dynamics campaign enrichment is paused until typed-field validation is available, to protect enterprise syncs.

= 0.48.3 =
* New performance reporting engine powering funnel metrics (Visitors → Leads → Conversion Rate) consistently across reports, with zero-lead traffic kept visible and a minimum-sample guard against misleading rates.
* Diagnostics gains a Performance Reporting section.

= 0.48.2 =
* CRM campaign enrichment for HubSpot, Brevo, and Dynamics: map AttribuLead campaign fields (first/last/conversion source, medium, campaign, channel, confidence, landing page, and more) to your CRM properties.
* Safe by design — a campaign field is only sent after you map it and validate that the property exists, so your existing contact sync is never affected.

= 0.48.1 =
* Lead Details now includes a Campaign Context panel — first, last, and conversion touch, click IDs, landing page, referrer, and AI source — with a Campaign Replay view of the exact captured parameters and timestamps.

= 0.48.0 =
* New Campaign Context: AttribuLead now preserves your original marketing parameters (UTMs, ad click IDs, and optional custom parameters) exactly as they arrived — separate from its normalized attribution — with independent first-touch, last-touch, and conversion snapshots.
* Sensitive parameters are never captured, and only an allow-list of marketing parameters is stored.
* Custom Webhook delivery can now include full campaign context automatically, no hidden form fields required.
* New Campaign Context section in Diagnostics (counts only).

= 0.47.4 =
* The update details window now shows a consistent “AttribuLead Pro” identity and a concise changelog with a link to the full release notes, on every plan.

= 0.47.3 =
* Automatic updates now work identically on every licensed site.
* Confirmed compatibility with the latest WordPress.

= 0.47.2 =
* Fixed automatic update detection so licensed sites reliably see the current version and WordPress shows the native Update, View details, and Enable/Disable auto-updates controls.
* Diagnostics now reports update registration status and whether native auto-updates are supported and enabled, making update issues easy to diagnose.

= 0.47.1 =
* Clearer CRM setup with step-by-step, provider-specific guidance.
* A friendlier walkthrough for optional dedicated credential security.
* Real tabbed navigation on the Settings screen and tidier menu labels.
* More accurate reporting — identical landing pages (such as your home page) are now grouped together.
* Wording and visual polish throughout.

= 0.47.0 =
* New Brevo integration for delivering attributed leads as contacts (Pro).
* Existing contacts are updated instead of duplicated.
* Clearer, guided credential security options.

= 0.46.1 =
* Strengthened credential security with clearer recovery guidance.

= 0.46.0 =
* CRM credentials are now protected with encryption at rest. Existing integrations keep working — no reconnection required.

= 0.45.3 =
* Added a one-click way to refresh update information when an available update looks out of date.
* Refreshed dashboard header and self-hosted typography.

= 0.45.0 =
* Improved automatic plugin updates and more reliable license validation.

= 0.44.3 =
* Added an in-app changelog.

= 0.44.2 =
* Improved license compatibility across AttribuLead plans and a cleaner Account screen.

= 0.44.1 =
* Clearer, more accurate license status messages.

= 0.44.0 =
* Consistency and responsive polish across the dashboard and reports.

= 0.43.0 =
* Premium interface redesign and a richer lead journey timeline.

= 0.42.0 =
* Responsive dashboard improvements and clearer tooltips.

= 0.41.0 =
* Dashboard clarity and explainability improvements.

= 0.40.0 =
* Improved licensing with a bounded offline grace period.

= 0.39.0 =
* Free and Pro editions, with your data always preserved.

= 0.38.0 =
* Organic search visits now classify correctly as Organic Search.

Privacy Preference Center