See AlmaSEO on a live client workspace The running app, fully populated. No signup, no login.

Work Intelligence

SEO retainer tracking that answers one question: are you going to make it?

SEO retainer tracking, on each client’s own billing cycle. AlmaSEO logs the hours you actually work against the hours you actually sold, then tells you — today, while there’s still month left — what you’d have to deliver each day to finish, and whether that number is one a human can sustain.

Billable hours tracking tells you where the time went. Not whether you’ll make it.

Time trackers are built for billing somebody. You start a clock, you stop a clock, and at the end of the month you get a total that is only useful for producing an invoice. The number arrives after every decision that could have been changed by it.

The question that actually matters on a retainer is different, and it has a deadline: given what I’ve already delivered and how many working days are left, what do I have to do each day from here? That number moves every single day. Nobody computes it, so people carry a vague sense of being behind, and find out they were right in the last week of the month.

AlmaSEO computes it. Hours sold, hours logged, working days remaining — per client, with each client’s own billing cycle — and it puts today’s number where you’ll see it without going looking.

Retainer tracking for the person doing the work — usually the person who sold it.

For the solo SEO or consultant on retainers

Nobody else is watching whether the month is deliverable.

You sold the hours, you deliver the hours, and you invoice for the hours. The only warning that a month has gone wrong is the feeling that you’re behind — which shows up about a week too late to fix.

  • Today’s number, per client, with their billing cycle respected
  • A timer that rounds sanely and a log that takes ten seconds
  • An honest read on whether your pace is sustainable or just survivable

For anyone who has quietly over-delivered

The client eating double their hours is invisible until you look.

Over-delivery doesn’t announce itself. It arrives as a client who is lovely to work with, asks for one more thing every week, and slowly consumes the margin on every other account you have.

  • Any client past their quota, named, with hours over
  • Hours over, visible before the period closes rather than after
  • Overage rolls into next period rather than quietly vanishing

Getting the hours in, and what the SEO retainer tracker does with them.

Nothing here costs Data Credits. It’s all built from work you log against clients you’ve added.

The work timer

Start it, forget it, and answer the questions afterwards.

One click, and the questions come later

Start the timer and get on with the job. When you stop it, AlmaSEO opens the log dialog already filled in with the time — you pick the work type and write the note then, not while you’re trying to start working.

Rounded the way you’d round it anyway

Time lands in fifteen-minute increments, and the timer stops itself at eight hours rather than quietly running all weekend because you closed your laptop.

Up to three running at once, in the top bar

One timer per client, visible wherever you are in AlmaSEO, so a timer you started on one account doesn’t disappear the moment you open another.

Or skip it entirely

Log work manually against any date, or a date range, across seventeen work types — calls, meetings, research, DNS and hosting, competitor analysis, design, admin. You can also add time to any entry AlmaSEO logged automatically, so an audit that took you two hours of follow-up reflects that.

And say when you’re not charging for it

A switch on the entry marks it non-billable, and that decision then holds everywhere: the hour stays out of the retainer count and never turns up as a line on an invoice. The favour, the call that ran long, the fix you weren’t going to bill for — you still want the record of it, and now keeping the record doesn’t quietly eat the client’s hours. It defaults to billable, so the common case costs you no clicks.

Plan Logging work is on every plan, Solo included. The timer runs in your browser — see the honest note below.

Powered by15-minute increments8-hour auto-stopSeventeen work typesBillable switchBackdatingDate ranges

Retainer Tracker

Hours sold versus hours logged, on the client’s own billing cycle.

Their cycle, not the calendar month

Set the hours and the day their cycle turns over. A client who bills on the 12th is measured from the 12th, so the numbers mean something to the person paying them.

Pace, not just a total

Ahead, on track, or behind — measured against where you should be by this point in the period, not against the finish line. Being at 40% on day four is fine; being at 40% on day twenty is the thing you needed to know.

Close the period and carry the overage

Closing a period snapshots it. Hours you went over roll into the next period as time already spent, so over-delivery follows you honestly instead of resetting to zero and happening again.

Last period sits beside this one

A second tab on the tracker shows the cycle that just closed as it finished: hours sold against billable hours logged, the non-billable ones beside them, how far over or under it ran, the hours carried into it from the cycle before, and whether it ended ahead, on track or behind. The question in the first week of a new cycle is usually about the last one, and this is where the answer is.

The history stays

Every closed period is kept, so “do we consistently blow through this retainer” is a question with an answer rather than an argument.

It counts the hours you actually sold

Time you marked non-billable is left out of the count, so the client’s twenty hours are twenty hours of the work they’re paying for rather than twenty hours of everything that happened. And if your agency is shut — the holidays your team keeps go on a company calendar and come out of the workday maths — a closure week stops reading as everyone falling behind.

Plan Pro and up.

Powered byPer-client billing dayRolloverWrite-off optionNon-billable excludedCompany holidaysLast period tabPeriod historyChange audit log

The Retainer Tracker on a client’s Activity and Logs tab, with a progress bar reading 3.83 of 20 hours at 19.2% and a pace read of Behind
3.83 of 20 hours, 12 days to go, and a one-word verdict: behind. The work log and the timer sit directly beneath it. Subtitled ‘monthly hour budget for this client’ and scoped to July 1 to July 31, the progress bar reads 3.83 of 20 hours at 19.2%, with cards for 3.83 hours logged, 16.17 hours remaining, 12 days until due, and a pace read of Behind, alongside a Close Period button. Beneath it the Work Log shows entries this week and this month with their totals, a Log New Work button, a Start Timer button, and a recent entry for Google Business Profile optimisation at 35 minutes. Below that the Activity Timeline and Reports, filtered by category and type, where each automated entry — keyword tracking, a new backlink, a generated article — carries an ‘add time’ button.

The daily target

One number, in the top bar, on every page.

What today has to look like

The hours you’d need to work today across every client to stay on track, summed per client so that mixed billing cycles come out right. It sits in the top bar of every page rather than on a dashboard you’d have to remember to open.

And what happens if you don’t

AlmaSEO also works out tomorrow’s number if you do nothing today, and how much each hour you work now takes off it. Procrastination stops being abstract.

It says which client, not just how many hours

Clients with only a few working days left, clients already past quota, clients with nothing logged this period at all, and the heaviest remaining account — each named, rather than folded into one total.

Compression, called out early

When the pace the plan now needs is one and a half or two times the pace you’ve actually kept over the last thirty days, AlmaSEO says so while the month can still be rescued.

It knows when you’re away

Book your leave as a date range and those days come out of the maths, along with any company holidays your agency keeps. Without that, a fortnight off doesn’t reduce the work — it just quietly raises the target for every day you are at your desk, and you come back to a number that was wrong the whole time you were gone.

Plan Pro and up.

Powered byPer-client targetsTomorrow's targetYour time offCompany holidaysCycle close warningsCompression ratioMonth-on-month momentum

The burnout check

Read together, not as a step count.

Consecutive heavy days

Three days in a row at eight hours or more is flagged; five escalates it. Not because a long day is bad, but because the fifth in a row is a different thing from the first.

Weekends, counted

Working three of the last four weekends is a fact about how the business is running, not a personality trait — and it’s stated as one.

Rest days, and the lack of them

No rest day in the last seven is flagged; one or fewer in fourteen escalates. AlmaSEO also watches for three consecutive rising weeks on top of a forty-hour week.

And a target that isn’t humanly possible

When the arithmetic says you’d need twelve hours a day to finish, the honest answer isn’t to show you the number and wish you luck. It’s to say the plan is unreachable, show the most you could actually achieve, and let you have the conversation with the client while there’s time.

Plan Pro and up. Rule-based, not AI — every threshold is a fixed number you could look up.

Powered byHeavy-day streakWeekends workedRest daysEscalating weeksReachability check

The daily target ticker in the AlmaSEO top bar, with the headspace check open beneath it saying today’s 4.2 hour goal is no longer reachable at this hour
“Today's 4.2h goal isn't reachable at this hour.” So it says what tomorrow becomes, and what to move. The ticker reads ‘next billing cycle closes in 3 days’ beside the client it belongs to, with arrows to step through the other readings. Below it the headspace check has opened: headed ‘Good evening’, it says today’s 4.2 hour goal is no longer reachable at this hour and that roughly no work time is left assuming a 9pm finish. A panel headed ‘here’s the play’ explains that doing nothing today makes tomorrow’s target 4.4 hours, and that every hour worked now saves about a tenth of an hour off tomorrow. Beneath that, 37.5 hours remaining, 9 workdays left, an average of 3.1 hours a day, and the soonest deadline. Then two readings — two clients tracking ahead of their retainer with a third named as the one to watch, and a note that two of the last four weekends were worked, called a pattern rather than a crisis — each followed by a suggested next move.

Turning hours into an invoice

The logged time goes out the door as money.

Hours grouped by work type, on an invoice

Pull a date range, see the hours broken down by what you were doing, and turn it into an invoice without retyping anything.

And into the client’s report

Hours can appear on the work report the client receives, or be hidden from it — a per-client switch, because not every client should see the clock.

What you wrote off stays written off

Anything marked non-billable is skipped when the invoice is built, so a goodwill hour doesn’t reappear as a line item you then have to explain or delete. You make that call once, at the moment you log the work, when you still remember why.

Plan Pro and up. The rate is worked out from the retainer — see the honest note below.

Powered byGroup by work typeDate rangeNon-billable excludedShow or hide hours in reports

Six things this SEO retainer tracker is not, said plainly.

This is the category where software oversells hardest. Here is exactly where AlmaSEO stops.

The timer lives in your browser.

It isn’t stored on a server. There’s no start/stop history and no sync, which means a running timer does not survive clearing your browser data, switching to another device, or a private window. It rounds to fifteen minutes and stops itself at eight hours. For its actual job — you, at your desk, timing the thing you’re doing now — that’s fine. If you need a timer you can start on a phone and stop on a laptop, this isn’t that, and no amount of careful wording would make it that.

Team hours are counted — just not on this page.

AlmaSEO does add up hours by person: every member’s total, which clients those hours went to and what kind of work they were, and a capacity card per member showing their share of the team’s billing period. That view belongs to the agency side and it lives on SEO project management, with a screenshot of the real thing. What still doesn’t exist anywhere is the apparatus usually sold around it — no per-seat timesheet grid, no approval queue, and no utilization target for anyone to be measured against. And everything on this page — the timer, the daily target, the burnout check — is still about your own workload rather than the team’s.

Marking time non-billable is a switch, not a second set of books.

You can flag an entry as non-billable when you save it, and that does real work: it comes out of the retainer count, it never reaches an invoice, and the retainer card shows what you gave away beside what you charged — +6.0h non-billable, 78% billable. What it isn’t is an accounting layer. There’s no write-off report, no way to bill the same hour at two rates, and no history of the ratio over time; you get this period’s split, on the card, and that is the whole of it.

A client with no retainer hours set is invisible to all of it.

The daily target, the ticker and the burnout check are all built from hours sold against hours logged. Set no retainer on a client and that client contributes nothing to any of them — you can still log time against it, and it still shows in the log, but it won’t move your target. Project work and internal work sit outside this system entirely.

Days off are days you book, not days it guesses.

Two calendars, because “the office is shut” and “I’m away” are different facts. Your agency’s closures go on a company holiday calendar that applies to everyone; your own leave you book yourself, on the workload page, as a date range. Either way those days come out of the workday maths, so a fortnight away stops quietly raising the target for every other day of the period. What AlmaSEO won’t do is infer it: a week you didn’t book still reads as a week you were available and didn’t use, because the alternative is software that decides you were on holiday when you were just having a thin Tuesday.

Nothing here is AI.

The burnout check is a set of fixed thresholds — three heavy days, three of four weekends, no rest day in seven. No model is judging your working patterns and no data is going anywhere to be scored. It’s arithmetic you could do yourself, done every day without you having to remember to.

What retainer tracking costs, and which plan you need.

Recording time is on every plan. Knowing what the time means is Pro. Either way the hours land in one dashboard for every SEO client, beside the rankings they paid for.

Solo

The work timer and the full work log — every work type, backdating, date ranges, adding time to entries AlmaSEO recorded for you, and the log itself with its filters and export. You can track where your time goes on Solo. What you can’t do is set what the time was sold for.

Pro — where this area actually lives

Retainer hours per client with their own billing cycle, pace against that quota, period close with overage rollover, the daily target in your top bar on every page, the compression warning, and the burnout check with its heavy-day, weekend and rest-day reads. Also invoicing from the hours you logged. This is the reason to leave Solo if you work on retainers.

Agency

Everything above, plus the full-page Workload Planner — the same pacing maths rendered across your whole book at once, with the client priority queue and the scope-creep flags, sitting inside the wider agency operations layer — and the margin view, which puts a rate against those hours and tells you which clients are actually worth keeping.

One thing to be clear about on invoicing: the hourly rate is worked out from the retainer — the fee divided by the hours sold — rather than being a rate you set directly. There are no per-work-type rates and no rounding rules. It’s built for retainer clients, which is what most of this page assumes you have.

Retainer tracking questions people actually ask.

How do I log the time I work?

Start a timer and get on with the job — when you stop it, AlmaSEO opens the log dialog already filled in with the time and you pick the work type. Time lands in fifteen-minute increments, and the timer stops itself at eight hours rather than quietly running all weekend because you closed your laptop. You can run up to three at once, one per client, visible in the top bar wherever you are. Or skip the timer entirely and log work manually against any date or date range, across seventeen work types. The same dialog carries a billable switch: leave it on for ordinary work, turn it off for the hour you decided not to charge for, and that hour stays out of the retainer count and off the invoice while remaining in the record.

What happens to my daily target when I take a week off?

Book the week and it comes out of the maths. Time off is a date range you add on the workload page, and those days stop counting as working days for your target — alongside any company holidays your agency keeps on its own calendar, which apply to everybody. The reason it matters: without booking it, the work doesn't go away, so the same hours get spread across the days you are at your desk and every one of them looks behind. You come back from a fortnight away to a number that was wrong the entire time you were gone. What AlmaSEO won't do is guess — a week you didn't book still reads as a week you were available, because software that decides you were on holiday when you were merely having a thin Tuesday is worse than software that asks.

Can I log time I am not charging the client for?

Yes — flip the entry to non-billable when you save it. The work is still logged, still in the client’s history and still yours to point at, but it doesn’t consume the retainer and it isn’t pulled onto an invoice. That matters more than it sounds: the goodwill fix and the call that ran long are exactly the work that quietly eats a twenty-hour retainer and then makes the month look like overservicing. The retainer card then shows both numbers — the billable hours it counts, and beneath them what you gave away this period and what share of your time was chargeable. What this is not is an accounting layer: there’s no write-off report, no billing the same hour at two rates, and no history of that ratio over time.

Does it track against the client’s billing cycle or the calendar month?

Theirs. You set the hours sold and the day their cycle turns over, so a client who bills on the 12th is measured from the 12th and the numbers mean something to the person paying. Closing a period snapshots it, and hours you went over roll into the next period as time already spent — so over-delivery follows you honestly instead of quietly resetting.

How do I know today whether the month is still deliverable?

The figure sits in the top bar: the hours you would need to work today across every client to stay on track, summed per client so mixed billing cycles come out right. AlmaSEO also works out tomorrow’s number if you do nothing today, and how much each hour you work now takes off it.

Does it tell me whether I am ahead or behind?

Yes, as pace rather than a raw total — ahead, on track or behind, measured against where you should be by this point in the period rather than against the finish line. Being at 40 per cent on day four is fine; being at 40 per cent on day twenty is not, and a total alone can’t tell you which one you are looking at.

Will it tell me which client is the problem?

Yes, by name rather than as a number. It surfaces clients with only a few working days left, clients already past quota, clients with nothing logged this period at all, and the heaviest account of the month.

Does it warn me before a month becomes impossible?

That is what compression is for. When the pace the plan now needs is one and a half to two times the pace you have actually kept over the last thirty days, AlmaSEO says so while the month can still be changed. And when the arithmetic says you would need twelve hours a day to finish, it says that plainly rather than showing you the number and wishing you luck.

Does it watch how hard I am working?

Yes, and it states the pattern as a fact rather than a judgement. Three days in a row at eight hours or more is flagged and five escalates it. Working three of the last four weekends is counted. No rest day in the last seven is flagged, and one or fewer in fourteen escalates, as does three consecutive rising weeks on top of an already heavy load.

How does the hourly rate on an invoice get set?

It is worked out from the retainer — the fee divided by the hours sold — rather than being a rate you set directly. There are no per-work-type rates and no rounding rules, because it is built for retainer clients, which is what most of this page assumes. Pull a date range and the hours come out grouped by what you were doing, ready for the invoice. Hours can also appear on the client’s work report or be hidden from it, as a per-client switch.

See your retainer hours sold against hours logged.

Set the hours you sold, log a week of work against them, and the number in your top bar starts telling you the truth about the other three.