ServicesChange detectionMeta AdsTeamsFixes
Service health on your brand page
Every brand now has a Services tab showing the third-party services we detect on your pages, so an outage at a vendor you depend on is visible right next to the pages it affects.- Detected services are grouped by category, each with a live status indicator and a link to the vendor’s status page.
- Extracted identifiers, like analytics and pixel IDs, are shown per service.
- A feed lists recent incidents across your whole stack.
New change analysis is now the default
The page-aware analysis introduced in recent weeks is now the primary analyzer for every comparison. Severity decides how a change reaches you. See How change detection & severity work.- Critical and high-severity changes alert immediately, moderate ones go to the daily digest, and minor ones land in the Changes feed only.
- Delivered changes include an annotated evidence image highlighting what moved, and that evidence is kept long-term.
- Quiet days are recorded as no change instead of raising a low-value alert.
You choose which brand owns a Meta ad account
Connecting Meta Ads no longer creates brands on its own. Ad accounts only import into brands you assign.- Every ad account you select gets an explicit brand assignment before its URLs import.
- Accounts without a brand show an “Assign brand” prompt on Connect Sources instead of minting a duplicate brand.
- The auto-import toggle is replaced with “Notify me when a new ad account appears”, so new accounts wait for your decision.
Teams
- Brand History now names who created, renamed, edited, or deleted a brand or URL, so teammates’ actions are attributed to the right person.
- Org owners can rename their organization in Team Settings.
A sharper look
- Dark mode contrast is fixed across brand-colored text, status dots, and severity chips. Primary buttons in dark mode now carry dark text on a brighter brand color.
- Status colors are retuned so success, warning, error, and info states stay readable in both themes, and informational notices no longer read as buttons.
- Emails now carry the correct logo.
Fixes
- URLs you pause yourself no longer show as “Auto-paused” in list views and brand history.
- The Meta connection badge on Connect Sources reflects your actual sync health, instead of showing “Never synced successfully” for healthy accounts.
- Meta ad accounts sync on schedule for everyone. A slow account earlier in the queue no longer delays or skips the accounts behind it.
- Reassigning an ad account to another brand updates the Meta labels on both brands, and the brands list chip now reflects a real ad-account connection.
- The onboarding scan verifies suggested competitors before showing them, so a name collision no longer surfaces an unrelated company or category.
- Slow-rendering pages get the full render window during rescue captures, instead of a shortened timeout learned on faster days.
- Detected services and third-party script and pixel change reports paused briefly during the analyzer switch. They now update regardless of which analyzer runs.
Changes feedBrandsMeta AdsCaptureFixes
Changes feed, rebuilt
The Changes feed now groups activity by page and day, keeps a durable record of every analysis, and reflects your view in the URL.- Feeds are rolled up by page and day, so a busy page reads as one entry instead of a wall of near-duplicates.
- Every analysis has a permanent link, so you can share a specific finding and it stays valid.
- Filters, how far you have scrolled, and the change you have open are all in the URL. Copy the address to hand a teammate the exact view you are looking at.
- Change cards and “View all changes” now open in a new tab like normal links.
Pause and resume in Activity
Pausing or resuming a brand or a URL now shows up in the brand’s Activity tab, with who did it and when.- Every pause path is recorded, including the pause switch, brand-level bulk pauses, and system-driven pauses.
- Bulk actions across a brand collapse into a single “Brand paused” or “Brand activated” entry with the URL count and the actor.
Faster Brands and Dashboard
The Brands page and Dashboard paint sooner and use far less bandwidth on brand-heavy accounts.- Brand names appear immediately so you can click through without waiting on stats.
- Stat cells, pause switches, and thumbnails show a shimmer while numbers load, instead of flashing a misleading zero, “Paused”, or “No snapshot yet”.
- The default sort is alphabetical, so the first paint is already in its final order.
- Google SERP monitors show a Google icon everywhere instead of a screenshot, matching how they render in the Changes feed.
Meta Ads
Ad-account cleanup is safer, and assigning ad accounts across workspaces works the way it looks like it should.- The trash-can action on a connected ad account is now “Disconnect”: the account unlinks from the brand and its URLs revert to manual, keeping every snapshot and insight. Reconnecting later re-adopts them automatically.
- The “Assign to Brand” picker lists every brand you can edit across your personal workspace and any orgs you belong to, grouped by workspace so cross-workspace assignment is an explicit choice.
- “Create new brand” now states which workspace the brand will be created in.
- A failed assignment shows an error and stops, instead of silently continuing.
Auto-tagging
Automatic category tags now apply to every page, no matter how it was added.- Homepages, product pages, blog posts, and landing pages get their category tag on creation.
- Ads land with
adplus any derived tags from the start. - Later syncs never overwrite tags you have edited by hand.
Fixes
- Brand invite links no longer dead-end when you sign up with a different email than the one on the invite. You can choose to join with your current account or sign in as the invited address, and the inviter is notified either way.
- Deleting your account from a stale tab now signs that tab out cleanly, instead of showing a generic edge-function error.
- Amazon product and storefront recommendations must come from a real web search result, so fabricated Amazon URLs no longer surface.
- Diff overlays no longer stretch or squash when the two snapshots are different sizes. The heatmap stays inside the overlapping area, and the panel explains that the stats cover only the shared region.
- The onboarding wizard no longer flashes on the dashboard for accounts that already have brands or belong to an org.
- Google SERP monitors no longer get stuck on the first profiling attempt. Previously stranded ones reclaim themselves automatically.
- Snapshot thumbnails on the new capture pipeline persist reliably, and the backlog of missing thumbnails is being filled in without new captures.
- Capture retries no longer loop on contradictory render responses, so pages that hit a transient failure recover faster.
- Full-page captures use the established acceptance rules again, so a valid render is no longer rejected on geometry alone.
OnboardingChange detectionCaptureFixes
Smarter onboarding scans
The pre-signup scan at/start surfaces more of your own site’s pages and handles hostile domains more honestly.- The scan now proposes more site pages, ranked by likely value from your sitemap, so it is easier to pick what to monitor.
- Your own pages stay in the results when only their verification step times out, so a slow site no longer looks like an empty one.
- If verification cannot read any of your pages, your homepage still comes through as a fallback.
- When a scan genuinely finds none of your pages, the results panel now says so plainly instead of showing a green success line.
- Brand-name detection ignores the tagline, so “Acme, the world’s best widget” resolves to “Acme” in the follow-up searches.
Quieter change detection
The triage model that decides which changes are worth surfacing is more page-aware. See the Changes feed for where the results land.- Recurring same-category churn now reads as a page’s normal rhythm rather than a fresh signal.
- Everyday copy tweaks are treated as noise. Only pricing, availability, and policy shifts escalate when the model is unsure.
- Repeated dismissals of a category on a page raise the bar for the next one.
Captures
- Pages whose own third-party scripts hang the browser can now be captured cleanly on a per-URL basis, instead of timing out every day. See Capture troubleshooting.
Fixes
- Reconnecting Meta Ads after a token expiry now clears the “connection lost” banner immediately, instead of waiting for the next hourly health check.
- Opening a team, share, or brand invite while signed out now drops you straight into sign-up, not into the sign-in form.
- Account verification emails link to
aww.urlloveit.com, matching the rest of the app, so the link looks like it comes from us. - Joining the waitlist now triggers an immediate welcome email, and replies to it reach a monitored inbox instead of vanishing.
CaptureTeamsFixes
Captures you can trust
A page that renders blank, times out, or serves a bot-check is no longer quietly saved as if it were a real snapshot. Broken renders are rejected, and pages that a site actively blocks are labeled as blocked so you can tell “nothing changed” apart from “we could not get in.”- Blank and error renders are rejected instead of being certified as captures.
- Blocked pages are labeled honestly rather than reported as unchanged.
- Video-heavy pages now capture correctly, with autoplay video suppressed.
- Pages that crashed our renderer fall back to a simpler capture mode rather than failing for the day.
- Stuck capture jobs free themselves automatically instead of hanging.
Team permissions
Organization roles now apply to URLs, not just brands. Editors and viewers get the access their role implies, deleting is limited to org admins, and billing is scoped to the org owner.Fixes
- Severity chips are readable in dark mode across the change detail views.
- Dismissed changes no longer flood the Activity tab.
- The onboarding page picker handles long brand names and lets you search within results.
- Render History keeps page names and owners visible past 500 URLs.
CaptureIntegrations
A rebuilt capture pipeline
Captures moved to a new asynchronous pipeline that recovers far more pages without failing the day. A page that needed a workaround remembers it for next time.- Partial captures are shown honestly, so “still processing” and “image captured, text blocked” read as what they are.
- Comparisons that span the pipeline change are flagged, so a one-time system upgrade is not reported as a change to your page.
- Shopify stores capture reliably, including stores that previously blocked us.
Integrations
- Slack alerts can route per brand and per URL, so different pages can post to different channels.
- The Slack channel picker has typeahead search.
- The daily digest reports counts in pages.
OnboardingMeta AdsChange detectionCaptures
New onboarding at /start
You can now try URL Love It before creating an account. Enter a domain, watch a live scan surface pages worth monitoring, and only sign up when you’re ready to save the results.- New guest-friendly
/startlanding page with a full “Live scan” layout. - “Continue with Google” available on the inline signup step.
- Sign up at the end of the flow, so no work is lost.
- Discovered results are clickable, and social profiles are discovered too.
Meta Ads improvements
Connecting and syncing Meta ad accounts is faster, quieter, and clearer about what’s happening.- New account picker groups your accounts as “Your accounts” vs “Other accounts you can access”.
- Adding an account now syncs in the background instead of hanging the browser for up to two and a half minutes.
- New “Auto-import new ad accounts” toggle in Meta settings.
- Ad account numbers link out to Ads Manager, and the
act_prefix is gone site-wide. - A reconnect banner appears when a Meta connection needs re-approval.
- No more duplicate “new ads detected” alerts, and only URLs that actually persist trigger notifications.
- New activity tab on brand detail shows a derived lifecycle log of the account.
Change detection and captures
- New capture-type badges surface how a page was rendered and whether the classifier flagged it.
- Invisible-change classification keeps script and tracking noise out of the Changes Feed.
- Image evidence matching localizes design changes to the region that actually moved.
- Prev/next day navigation added to the change detail modal.
- Better handling of Cloudflare blocks, HTTP 429s, and other bot walls so they no longer look like real content changes.
- Retries on transient storage upload errors, and per-viewport job dedup so a stuck job no longer skips the other viewport.
- Fewer false positives from lazy-loaded images and partial page renders.
Fixes
- Changes Feed cards no longer overflow on mobile.
- Discovery no longer treats a cross-domain redirect target as the brand.
- Discovery scan pulls more product pages and stops surfacing login pages.
- Brand list and detail timestamps stay in sync.
- Newsletter pages are no longer wrongly labelled “Login required”.
- Mobile hamburger nav added on landing and about pages.
- All URLs and Library are now searchable from the command palette.
BrandsDigestSharingTags
Daily change summaries
A new daily digest rolls up the day’s changes across your brands and delivers them by email and Slack, grouped brand-by-brand. Each user can mute the digest per URL from a new setting.- Brand-grouped Slack digest with correct CTAs.
- Per-URL daily-summary mute UI.
- Clearer settings layout so digest vs alert preferences are unambiguous.
- Sticky unsaved-changes bar on Settings so Save isn’t lost below the fold.
Brand sharing across organizations
Share a brand with another organization directly from the brand detail page. Org members see shared brands in their team workspace, and the “Personal” workspace has been renamed Home to make org-shared brands more obvious.- Share a brand with an organization via the UI.
- Org-granted brands appear in the team workspace.
- Change-role dropdown on existing brand grants.
- Invitees land in the org workspace after accepting.
URL tags
Group URLs by purpose with a new tag system. Add or remove tags in bulk from the URL list, and filter brand detail with three-state chips (include, exclude, off).Library and brand pages
- New Library section showcasing nightly captures of notable sites.
- Brand cards now show a homepage thumbnail.
- Enlarged brand rows and hero-style cards for accounts with a handful of brands.
- Per-brand cover image override.
- Date Added column added to brand URL tables.
Fixes
- Compare Dates now orders the snapshot pair chronologically for the AI.
- Command palette scopes results to visible brands.
- Team Settings no longer shows “No Organization Yet” when you have orgs.
- Slack daily report buckets stealth-capture failures correctly.
- Truncated full-page renders now recover via scroll-stitch retry.
- Failure screenshots are preserved and low-quality captures are flagged.
SnapshotsChange detectionOnboarding
Onboarding wizard
New onboarding wizard walks you through brand setup with AI-powered URL discovery, paginated questions, and Meta connect. Add another brand or use guided setup any time from the dashboard.- AI URL discovery with a Review Discovered URLs modal.
- Heart pages on Step 3 and inline brand-name editing.
- “In-store / retail” and “Other” sales channel options.
- Search Results manual-add accepts a search query.
AI-first change detection
Every capture now runs through AI change detection, with pricing extraction and enriched analysis. Compare Dates auto-displays saved change analysis.- AI vision fallback and pricing extraction.
- Full HTML capture and structural HTML diff.
- Compare Dates runs the full algorithmic pipeline and passes findings to AI.
- Auto-pause URLs after 10 consecutive failures, with clear reasons: hard_blocked, transient, or unreachable.
- Long-lived Meta tokens with automatic refresh across integrations.
Snapshots and the URLs page
- Snapshot scrubbing with prev/next navigation and a peek UI.
- HTML and script comparison viewer on change details.
- Grid view toggle for URLs with screenshot thumbnails.
- Thumbnails on the All URLs list, defaulted to most recent captures first.
- Panel date headers stay visible while scrolling.
- Card-grid view toggle on Brands.
Cross-platform insights
- New Insights tab on URL Detail with GA4 page discovery.
- Support for multiple Google Analytics accounts and multiple GA4 properties per account.
- Cross-platform insights and change annotations on the chart.
- Data accuracy improvements to query-param matching, session-weighted stats, and ad caps.
Fixes
- Mobile theme toggle no longer cut off below the viewport.
- Brands page crashes fixed.
- Auto-reload on stale chunk errors after deploys.
- Case-insensitive brand typeahead.
- Global command palette, opened with Cmd+K.
- Compare Dates shows full screenshots instead of thumbnails.
- Brand favicon and love state no longer flicker.
Change detectionIntegrationsNotificationsMeta Ads
HTML-powered change detection
Change detection now captures full HTML and runs a structural diff alongside pixel diff. Reports include concrete before/after values, “At a Glance” summaries, and precise highlights.- HTML diff with tracking-pixel and cache-buster filtering.
- Pixel diff overhauled for accurate change regions, with cap on oversized highlights.
- Element bounding boxes captured at render time for precise change highlighting.
- Image change detection with dedicated UI rendering.
- Compare Dates defaults to today vs yesterday.
- Only major changes trigger email alerts.
Google Analytics 4 integration
Connect GA4 to see traffic context alongside your captures.- Full GA4 integration across seven phases.
- Website domain shown for each GA4 property on Connect Sources.
Meta Ads
- Spend-ranked Meta URL imports with a review modal.
- Auto-sync Meta ads every six hours with in-app notifications when new URLs are discovered.
- New URL discovery banner on the URLs page.
- Cross-account URL analytics aggregation.
- Data-source labels (platform + account count) on the Ad Status card.
Notifications, teams, and bulk actions
- Complete notifications system with email templates and preferences.
- Organization and team management with real backend.
- Improved team invite email for new vs existing users.
- Bulk pause, resume, and delete for brands and URLs.
- Brand and URL column sort, plus brand label on URL Detail.
- Per-URL pause toggle on brand pages.
Fixes
- Fewer false positives from Cloudflare and bot challenge pages.
- Truncated captures detected and auto-retried.
- Tracking pixels and cache-busted scripts no longer show up as changes.
- HTTP and HTTPS versions of a URL are treated as one page.
- Visual error indicators when a screenshot capture fails.
- Multi-account discovery review modal deduplicates and groups by account.
CapturesNotificationsMobileMeta Ads
New capture pipeline
Captures moved to a new rendering system. They are faster, hold up better on heavy sites, and produce sharper, lossless images.- PNG and HTML capture run in parallel.
- Longer timeouts on heavy pages, with proper wait strategies.
- Visual diff overlay with four comparison modes on change detail.
- Realtime snapshot progress and change notification emails.
Mobile responsiveness
Dashboard, URLs, Snapshots, Analytics, Alerts, and URL Detail all got a mobile pass, including four mobile tabs on URL Detail and header alignment fixes.- Changes Feed made mobile-responsive with horizontal date selector and collapsible calendar.
- Redesigned from calendar-first to feed-first layout.
Brands, integrations, and UI
- Connector icons on brand badges (Meta, Shopify, and a link icon for Manual).
- Brand favicon shown on the Brands page.
- URL Detail Current Preview tab redesigned.
- Loved URLs now persist to the database instead of localStorage.
- Notifications system frontend completed with email templates and a dev preview page.
Fixes
- Changes Feed auto-selects the latest change date, and the Dismissed badge is removed.
no_changerecords excluded from snapshot badges and tab counts.- AI summary always populated with a technical fallback.
- Meta account pagination and refresh UI fixed.
SnapshotsChanges FeedAlertsAuth
Redesigned change detection
The change detector, compare view, and URL header were redesigned end to end.- Clearer change detail UI with the ability to show snapshots inline.
- Compare UI reworked, with calendar interaction and full-page settings respected.
- Change history view added, with a History button available on every URL.
- Deterministic text diffing and expanded before/after text boxes.
Changes Feed and calendar
- New Changes Feed calendar showing all changes.
- Refined feed layout, subtle today indicator, and orange severity accents.
- Auto-dismiss changes when you view a tab.
- Snapshot sync on by default.
Snapshots and captures
- Multi-viewport snapshots.
- Popup and cookie-banner blocking, including a network-level blocker.
- Screenshot API retries and a hybrid API fallback.
- Diagnostics on individual URLs.
Alerts, auth, and settings
- Facebook sign-in.
- Real name shown in the sidebar.
- New URLs default to paused.
- Meta Ads UI and behavior improvements, including a reworked Connect Sources.
- Favicon updated to URL Love It.
