Sign in
No account?
Audit a Page
Search History
My Leads
Map
Businesses on the map
| Business | Suburb | Category | Opportunity | SEO score | Status |
|---|
Account & Billing
Plan and billing
Your plan
Plans
Profile
Report branding
Team sharing Paid plans
Notifications
Weekly digests
Email from us
Security
Your data
Help & Support
Guides
Running your first search
Enter a city, a radius and a category (or type your own custom category). The radius is in kilometres or miles - switch under Account & Billing › Profile. ppclift looks up real local businesses in that area from public maps and business listings, then checks every website it finds. That takes a few seconds for an area someone searched recently, or a minute or so for a brand-new one.
Reading your results
Audited businesses have a website and a score out of 100 - lower means weaker on-page SEO. The list starts sorted by Opportunity: best leads first, weighing how weak the site is against how busy the business looks, whether it shows signs of ad spend, and whether you can reach it. Use Sort by to switch to SEO score (weakest site first, ignoring everything else) or Name (A to Z). Each score is broken down into specific issues (missing title tags, no mobile viewport, thin content, and so on). No website listed businesses are the easiest pitch of all. More websites holds anything past your plan's per-search audit limit.
Tracking a lead
Every lead has a status dropdown (New, Contacted, Replied, Not Interested, Do Not Contact) and a Note button. Status and notes are private to your account by default. Users on a paid plan can invite specific teammates as collaborators from the Account screen - once added, you both see and edit the exact same lead statuses and notes, so nobody accidentally re-pitches a business the other already reached out to.
Contact emails & outreach drafts
ppclift checks a business's own website for a listed contact email. Once found, a "Draft email" button appears that fills in a ready-to-edit message using that business's name, website, and specific SEO issues - copy it or open it directly in your email app.
Exporting your leads
Export CSV for your own CRM or spreadsheet, or a polished PDF report with screenshots. Both include contact emails and lead status, and both automatically leave out anything marked Do Not Contact.
Weekly digest alerts Paid plans
Subscribe any search to a weekly digest from the "Notify me weekly" button under its results, and you'll get emailed automatically when new leads show up - no need to re-run the same search yourself. Manage active subscriptions from the Account screen.
Search history & the shared cache
Every search you run is saved to Leads › Search history and reopens instantly - no need to re-run it. The business/audit results themselves are shared across everyone for up to 7 days to keep searches fast, so if someone already searched the same area, you'll see their results instantly rather than repeating the work - but the lead status, notes and any details you've edited that you see layered on top are always your own (or your shared workspace's, if you're collaborating with a teammate on a paid plan).
Plans & billing
The Free plan covers a small number of searches with smaller per-search limits. Paid plans raise the search, AI-draft and PageSpeed allowances and the per-search limits, and can add lead tracking, your own branding on reports, weekly saved-search alerts, team seats and full CSV export - the plan cards under Account & Billing list exactly what each plan includes and how it can be billed. The header meter shows what you have used and when it resets. Manage or cancel a plan you subscribed to any time from the account menu in the top-right corner. A plan our team set up for you has no subscription behind it, so there is nothing to cancel or pay for, and Account & Billing says so.
The account menu
Your account, billing, and sign-out are all under the menu in the top-right corner - click your name or avatar to open it. The two menus to the left (Leads and Sites) stay focused on day-to-day work, with Help and the light/dark control beside your avatar.
Managing leads without a search
Leads › My leads lists every business you've set a status or note on, with full contact details and the same controls you'd see in search results - so you can review, update, or follow up on your pipeline any time, without re-running the search that originally found it.
Auditing a single page
Sites › Audit a page reviews one address in depth: title and meta tags, headings, content, structured data, mobile rendering, robots and sitemap files, domain age, and how readable the page is to AI assistants. Use it when you want to go deep on one prospect rather than wide across a suburb. Every audit is saved to Sites › Page audit history and is visible to everyone sharing your workspace.
Don't know a business's web address? Use Find it by name on the same page: give the business name and the suburb and ppclift finds the site and audits it, the same lookup as the public report card but saved to your history with no daily cap. The page also links the fillable 15-point checklist PDF.
Sending an audit to a prospect
Open any audit and choose Download PDF. Add your own logo, business name and contact line under Account & Billing → Report branding, and the PDF and every shared report link carry your identity instead of ppclift's, so they can be sent to a prospect as your own work. Add a booking link there too and shared reports end with a “Book a call” button. The same free audit tool is public at /tools/seo-checker, which is useful for sharing on social media or linking from your own site.
Exporting your data
Beyond per-search CSV/PDF exports, the account menu's Account & Billing screen has an "Export all my data" button - a single JSON file with your profile, every tracked lead and note, search history, digest subscriptions, shared collaborators, and support tickets.
Tips & tricks
- Results start sorted by Opportunity on purpose - the top of the list is the best mix of a weak site and a business worth pitching, so start your outreach there. Switch to SEO score to see the weakest sites first.
- The "No website listed" group is often the fastest pitch of all: there's no existing site to critique, just an obvious gap to fill.
- Reopen a search from Leads › Search history instead of re-running it - it's instant, free, and shows live lead status even if it was searched days ago.
- Mark a business Do Not Contact as soon as you know it's not a fit - it stays visible in the app, but is automatically left out of every future CSV/PDF export.
- Use a Note to log what you actually said last time you reached out, so the next teammate who opens that lead isn't starting from scratch.
- If a category you need isn't in the list, use a custom category (e.g. "tattoo studio") - it searches business listings for those words instead of a fixed category.
- Paid-plan users can force a fresh, uncached search at any time with the Refresh button, useful if a business's website may have changed recently.
FAQ
Why does it say my results are "cached"?
To keep searches fast, identical searches (same area, radius, and category) are reused for 7 days across everyone using ppclift. The cached badge shows exactly when it was originally run. A search that ran while one of our data sources was down is never reused, so searching again gets full results. Paid-plan users can force a completely fresh search with the Refresh button.
Why don't I see a "Draft email" button on some leads?
It only appears once a contact email has actually been found for that specific business. Email discovery has its own per-search limit (separate from the audit and Google-lookup limits), and it only runs on fresh, uncached searches - reopening an old cached result won't retroactively discover new emails.
What do the different lead statuses mean?
New - not yet actioned. Contacted - you've reached out. Replied - they got back to you. Not Interested - they declined. Do Not Contact - never pitch this business again; it's automatically excluded from exports. These are private to your account unless you're collaborating in a shared paid-plan workspace.
How does sharing leads with teammates work?
Users on a paid plan can add specific existing ppclift accounts as collaborators from the Account screen. Once added, that person fully joins your lead workspace - same statuses, same notes, same "who's already been contacted" view - until either of you removes the connection. It's opt-in and only with people you've specifically chosen, not shared with every ppclift user.
Is a discovered contact email guaranteed to be accurate?
No - it's found by automatically scanning the business's own public website, the same way you would by hand. It's usually accurate but can occasionally be outdated, a generic inbox, or belong to a third-party widget on the page. Always sanity-check before sending anything important.
Can my teammates see the same leads and notes I do?
Only if you've added them as a collaborator (see "How does sharing leads with teammates work?" above) - lead status, notes and edited lead details are private to your account otherwise. Search results themselves are shared across everyone for up to 7 days regardless, since that part is just cached business/audit data, not your CRM activity.
Where did the "Account" tab go?
It moved into the account menu - click your avatar or name in the top-right corner. That menu also holds sign-out, keeping the Leads and Sites menus focused on day-to-day work.
What's included in the full data export?
Your profile, every business you've tracked a status or note for, your search history, weekly digest subscriptions, anyone you've added as a collaborator, and your support ticket threads - all as one JSON file, from the account menu's Account & Billing screen.
What is the difference between a search and a single-website audit?
A search finds every business in an area and scores each one so you can spot the weakest sites quickly. An audit reviews one address in far more detail, including things a bulk search does not fetch, such as robots and sitemap files, domain age, mobile rendering and AI answer-engine readiness. Searches find prospects; audits are what you send them.
Can I put my own branding on the audit PDF?
Yes. Under Account & Billing → Report branding, upload your logo and add your business name and a contact line. Reports, both the PDFs and the shared report links, then carry your branding with no mention of ppclift, so they can go straight to a prospect. Leave those fields empty and the report uses the ppclift branding instead. You'll be asked for them the first time you share a report.
Can my teammates see audits I have run?
Yes, if you share a workspace. Audits are saved against the workspace rather than the individual, so anyone you have added as a collaborator sees the same history, along with who ran each one.
Why can some websites not be audited?
A small number of sites block automated requests outright, usually through a firewall or bot-protection service, and return an error to anything that is not a person in a browser. When that happens the audit reports the exact response rather than guessing.
How often does the weekly digest actually email me?
At most once a week per subscribed search, and only when genuinely new businesses have appeared since the last digest - an unchanged search won't generate an email just to say nothing changed.
How do I upgrade, downgrade, or cancel my plan?
Head to the Account screen - you'll see your current plan, all available plans, and a Cancel button if you're on a paid plan. Cancelling keeps your paid-plan limits until the end of the current billing period, then reverts you to Free.
Is my payment information stored by ppclift?
No. Payments are handled entirely by PayPal - ppclift only ever receives a subscription ID and status, never your card or bank details.
Support
Admin
Settings
Change history
Every saved change to the settings above: who made it, when, and the value before and after. Secret keys are recorded as replaced, never stored.
Categories
Business categories
Shown in the search form's Category dropdown. Built-in categories query OpenStreetMap directly; categories you add here are Google Places-only (a Places API key must be configured) but otherwise work exactly the same.
Add a category
Plans
Plans
PayPal plans are created in your PayPal dashboard (Products & Plans) - paste the resulting Plan ID here so ppclift can verify subscriptions against it. Saving reads each new or repriced Plan ID back from PayPal and refuses it unless PayPal charges exactly this plan's price (monthly box: every month; annual box: every year), so the pricing page can never show one price while PayPal bills another.
Add a plan
Fill in every field - saving writes all of them at once. To change an existing plan, use its Edit button above so the current values are loaded first.
Branding
Branding
Each theme automatically switches between its light and dark palette based on the visitor's OS setting - nothing for visitors to toggle.
Users
Where sign-ups come from
Score badges
Users
Add a user
Cached Searches
Cached searches (all users)
Content Pages
Page designer
Edit any guide, industry page, the playbook, glossary or research post visually. Save a draft and preview it in the real page layout, then publish when it's ready. Your edit replaces the page's main content only - the header, footer, address and search-engine data stay as they are - and Revert to file puts the original back at any time. Scripts, embeds and forms are removed on save.
Content pages
The guides, industry pages, glossary and research post are generated from Python content files, which stay version controlled and remain the default for every page. The designer above stores an edited copy on top of the file; without one, a page renders from its file exactly as before. Adding a new page still means editing a file and restarting the service.
Where each page lives
| Pages | File | Live at |
|---|---|---|
| SEO guides | app/guides_content.py → GUIDES | /guides |
| Outreach playbook | app/guides_content.py → PLAYBOOK | /guides/cold-outreach-playbook |
| Glossary terms | app/guides_content.py → GLOSSARY | /glossary |
| Industry pages | app/industries_content.py → INDUSTRIES | /industries |
| Research post | app/research_content.py | /research/… |
Create a page
- Open the file for the type of page you want, and copy an existing entry as a starting point.
- Give it a new
slug. This becomes the web address, so use lowercase words separated by hyphens, and never change it once the page has been published and linked. - Fill in every field the neighbouring entries use. A missing field will stop the service from starting, which is deliberate: it fails at deploy rather than showing a broken page.
- Deploy and restart the service. The page, its sitemap entry and its internal links all appear automatically.
Update a page
- Edit the text in place and restart. Keep the
slugunchanged so existing links and search rankings survive. - If you must change a slug, add a redirect from the old address before removing it, or you will lose whatever ranking it had earned.
Delete a page
- Remove its entry from the list and restart. It disappears from the hub and the sitemap at the same time.
- Check nothing still links to it:
grep -r "the-old-slug" static/ app/. A guide referenced in another guide'srelatedlist is skipped safely, but the link is wasted. - A removed page returns 404. If it had traffic, redirect it to the closest replacement instead of deleting it outright.
Refreshing the research figures
The numbers in the research post are aggregates of real audits, and they age. To refresh
them, re-run the aggregation script documented in docs/ADMIN_GUIDE.md, then
update SAMPLE, FINDINGS, BANDS and
BY_CATEGORY in app/research_content.py.
Always update SAMPLE["as_at"] at the same time. A study that silently claims
to be current is worse than one that admits its age. The aggregation reads counts and
averages only; it never records a business name or address.
Full instructions, including the aggregation script and the exact shape of each entry,
are in docs/ADMIN_GUIDE.md in the project repository.
Audited Websites
Audited websites
Every single-page audit stored across all accounts, newest first.
Emails
Email settings
Loading…
Templates
System emails are sent by the app itself (verification, digests, alerts). Edit their look and wording here; a system email you haven't touched uses the built-in default. Marketing templates are what broadcasts and sequences send.
Broadcasts
One email to a group of users, sent once. Only verified accounts that haven't unsubscribed receive marketing; free SEO-checker addresses never do.
Sequences
Automatic emails that follow something a user does. Switching a sequence on only affects people whose trigger happens after that moment; it never emails your existing users in bulk.
Recent marketing sends
Opens and clicks are signals, not readers. Apple Mail loads every image when a message arrives, and some corporate mail scanners follow links before a person does, so both numbers run high. Treat an open as "the message was fetched".
Support Tickets
Support tickets
Dashboard
Server resources
Live snapshot of the VPS ppclift runs on - useful for telling whether a slowdown is a resource limit or something else.
Overview
API usage
Calls actually made to external services - cached search reuse doesn't add to these.
Subscription revenue
Estimated from local plan records (active plan × price) - not reconciled against PayPal's ledger. Check PayPal directly for actual settled revenue.
Advertising (AdSense)
ppclift doesn't pull live ad revenue - that requires a separate Google AdSense API integration. This just shows whether ads are configured.
Recent contact messages
Suppressed email addresses
Addresses that hard-bounced or filed a spam complaint (via the SES SNS webhook, configured in Settings) - future sends to these are skipped automatically.