Setup
SmartStamp has no formulas to write. You open the settings panel from
the add-on menu, describe once which cells to watch and what to stamp,
and it runs by itself from then on. Everything you configure is saved
per spreadsheet.
The Configure tab — every field below is explained on this page.
Configure
Where you build a watched range: pick the sheet, mark the rows and
the column to watch, then say what to stamp and where. The − and +
buttons at the bottom remove or add a range, so one spreadsheet can
have several independent rules — each with its own conditions and
options.
💡 A range only starts working once you save it. Ranges are numbered
(Range 1, Range 2, …) and are evaluated
independently, so two ranges can watch the same sheet with different
conditions.
Saved settings
Lists every range saved for this spreadsheet. Use
Edit to change one, or Delete to
remove it. At the bottom, Delete all ranges clears
them all at once after a confirmation.
💡 Deleting a range only removes the rule. Timestamps and values
already written into cells stay exactly where they are — SmartStamp
never cleans up after itself retroactively.
Account & Support
Shows your current plan and trial status. From here you open
Manage subscription (Stripe's self-serve billing
portal), Manage team seats if you bought a team
license, and the feedback form that reaches support directly.
Watch
The four fields that define when SmartStamp reacts. Together
they mark a block of cells: one column, bounded by a start and end
row, on one sheet. An edit anywhere else is ignored.
Sheet
sheet
Which tab of the spreadsheet this range applies to, picked from a
dropdown. Each range watches exactly one sheet — to cover a second
sheet, add a second range with the + button.
Start row & end row
start row · end row
The first and last row SmartStamp pays attention to. Set the start
row below your header so editing the header itself never triggers a
stamp.
| Field | Value | Meaning |
|---|---|---|
| start row | number | First row that is watched, e.g. 2 to skip a header row |
| end row | number | Last row that is watched, e.g. 100 |
Example:
start row 2 + end row 100 —
watches 99 rows of data underneath a header.
💡 On the free plan you get 2 ranges and 50 rows in total across
them, so a 1–1000 range will not fit. Pick the rows you actually
use, or upgrade for unlimited ranges.
Edit column
edit column
The column people type in — the trigger. When a cell in this column
changes, inside the row range above, SmartStamp writes a stamp.
Editing any other column does nothing.
Example: a Status column that colleagues update as work progresses.
💡 Columns are entered as numbers, not letters: column A is
1, B is 2, C is 3.
Stamp
The fields that define what gets written and where.
Two decisions: which cell receives the stamp, and what goes in it.
Stamp target
stamp target
Chooses between stamping per row or stamping into one fixed cell.
This is the single most important setting on the page — it decides
whether you get a history per row or one "last touched" indicator.
| Option | Writes to | Use it for |
|---|---|---|
| column | The same row you just edited, in the stamp column | A "last updated" value per row |
| cell | One fixed cell, no matter which row was edited | A single "sheet last touched" indicator |
💡 With cell, every edit in the range overwrites
the same cell, so you only ever see the most recent one. Use
column if you need to keep per-row history.
Stamp column
stamp column
Where the stamp lands. With target column this is the
column that receives the value on the edited row; with target
cell you point at one fixed cell instead.
Example: watch
edit column 2 (B) and stamp into
stamp column 3 (C) — the row's Status is typed in B,
the moment it changed appears in C.
💡 Point the stamp at a column you don't type in yourself. If the
stamp column and the edit column are the same, your own value gets
replaced.
Stamp value
stamp value
What actually gets written. Four choices, picked from a dropdown.
| Option | Writes | Use it for |
|---|---|---|
| timestamp | The date and time of the edit | "Last updated" tracking, audit trails, SLA timing |
| custom value | Any fixed text you type in yourself — optionally with
{row}, {date}, {email},
{sheet}, or {uuid} tokens, expanded at stamp time |
Status flags like Checked or Done,
or self-numbering values like PO-{row} |
| user email | The email of whoever made the edit | "Who changed this?" on a shared sheet |
| UUID | A freshly generated UUID | Unique row IDs, dedupe keys, external system references |
💡 Want both a time and a name? Add two ranges on the same
sheet and the same edit column: one stamping
timestamp into one column, the other stamping
user email into the next.
💡 Tokens are expanded once, at the moment of the edit — they're
plain text after that, not a live formula, so they won't update
later.
{date} is always yyyy-MM-dd.
Conditions
By default every edit inside the range stamps. Tick
Require a specific value in edit column and the stamp only
fires when the newly typed value matches your condition. Three types
are available, matched to what's in the cell.
Numeric
Compares the edited value as a number.
| Operators | Meaning |
|---|---|
| = ≠ | Equal to / not equal to |
| > < | Greater than / less than |
| ≥ ≤ | Greater or equal / less or equal |
| between | Strictly between two values (bounds excluded) |
| not between | Outside those two values (bounds excluded from the "between" side) |
| is one of | Matches any value in a comma-separated list (e.g. "5, 10, 15") |
| is none of | Matches none of the values in a comma-separated list |
Example: stamp only when a Progress column reaches
≥ 100.
String
Compares the edited value as text. Case-sensitive by default, with
an option to ignore case.
| Operator | Fires when the value… |
|---|---|
| matches | Is exactly the text you specified |
| doesn't match | Is anything other than that text |
| contains | Has your text somewhere inside it |
| doesn't contain | Does not have your text anywhere inside it |
| starts with | Begins with your text |
| ends with | Ends with your text |
| matches regex | Matches the regular expression you specified |
| doesn't match regex | Does not match the regular expression you specified |
| is one of | Matches any value in a comma-separated list (e.g. "urgent, blocked") |
| is none of | Matches none of the values in a comma-separated list |
Example: stamp only when a Status column is set to
Done, ignoring "In progress" and "Blocked".
💡 Case-sensitive by default means
done won't match
Done. Turn on ignore-case if colleagues type freely.
💡 For the regex operators, a "Test your regex" link next to the
value field opens regex101.com to help build and check the
pattern before you save.
Date
Compares the edited value against a date you set, by calendar day —
the time of day is ignored.
| Operator | Fires when the date is… |
|---|---|
| on | The same calendar day |
| not on | Any day except that one |
| before after | Earlier than / later than that day |
| on or before | That day or any earlier day |
| on or after | That day or any later day |
| between | Strictly between two dates (both boundary days excluded) |
| not between | Outside those two dates |
⚠ The edit column must hold a real date-formatted cell. Plain text
that merely looks like a date (typed as text, or imported) will not
be recognised as a date.
Checkbox
Compares the edited value against a checkbox state. No value
field — just pick "is checked" or "is unchecked".
| Operator | Meaning |
|---|---|
| is checked | The box in the edit column is ticked |
| is unchecked | The box in the edit column is empty |
Options
Three checkboxes per range, all off by default. They control what
happens when a stamp already exists, when the source value disappears,
and whether a condition applies at all.
Don't overwrite an existing stamp
Leaves the target cell alone if it already holds a value. The first
stamp wins and later edits no longer change it.
Example: record when a task was first marked done, not the
last time somebody touched it.
💡 Off by default, so every qualifying edit refreshes the stamp —
that's what you want for "last updated", and exactly what you don't
want for "created on".
Delete stamp when value in edit column is deleted
Clears the stamp again when the watched cell is emptied, so a row
that has been cleared doesn't keep a timestamp for a value that no
longer exists.
Example: someone clears a Status cell by mistake — the stamp in the
neighbouring column disappears with it instead of going stale.
Require a specific value in edit column
Turns on the condition builder. Leave it off and every edit inside
the range stamps; tick it and you pick a numeric, string or date
condition that the newly typed value has to satisfy.
💡 See Conditions above for all operators
per type.
Good to know
A few behaviours that aren't fields in the panel, but do decide
whether SmartStamp does what you expect on a shared, busy sheet.
Paste and fill-down are handled
Pasting a block of values or dragging fill-down over several rows
stamps every qualifying row in the edited range, not just
single-cell edits. Conditions are checked per row, so a paste of
mixed values only stamps the rows that actually match.
Everyone needs their own install
SmartStamp only stamps edits made by people who have installed and
enabled it themselves. A colleague with edit access who never
installed the add-on will not trigger any stamps. The ranges and
conditions you configure do apply to everyone who has it installed
on this sheet — each person just installs it once.
⚠ This is the most common reason a stamp "doesn't work": the edit
was made by someone without the add-on. Rolling out to a whole team
is covered by
team licensing.
What the free plan covers
New installs get a 14-day trial with everything unlocked. After
that you drop to the free plan: up to 2 ranges and 50 rows in total
across them, with no time limit. A paid plan removes both limits.
💡 If a paid plan lapses, your oldest ranges keep stamping up to the
free plan's budget and newer ones stop. Values already stamped stay
exactly as they are.