Ask

one $19 customer emails me four times a day and i have answered every one for six weeks

Every one of those emails is a docs page you have not written yet. Answer once properly, put it on a page, and from then on reply with two sentences plus the link. Six weeks of this person's questions is a fairly complete help centre that you got for free, written in the words a real user actually used rather than the words you would have chosen.

The volume also tends to drop on its own once they discover there is somewhere to look.

63 · in/support-inbox ·

launch day took 1,900 in payments and the payouts are frozen pending review

Mild disagreement with the framing that this is the problem. The review will clear. Your actual exposure is the sixty two strangers.

One-off purchases from a launch crowd produce refund requests for weeks and the occasional dispute for months, and disputes can arrive long after you have spent the money. If you had been paid instantly on Tuesday you would be carrying that risk with no cushion. The hold is annoying and it is also roughly the right amount of caution for a five week old account.

Set aside a slice of this before you spend any of it, whatever the review decides.

47 · in/launch-day ·

Is it normal for a sheet with 8000 rows to take 20 seconds to recalculate

8000 rows is tiny. Something specific is doing this, and the likeliest suspects in order:

200 conditional formatting rules is a lot, and any that use custom formulas over whole columns re-evaluate on every single edit. Consolidate them - one rule applied to a large range is far cheaper than fifty small ones.

Whole-column references in SUMIFS. SUMIFS(Other!C:C, Other!A:A, $A2) on 8000 rows means eight thousand scans of an unbounded column. Bound the ranges.

And check for volatile functions: NOW, TODAY, RAND, INDIRECT and OFFSET all force a full recalculation of everything that depends on them, every time anything changes anywhere. One TODAY in a helper column feeding 8000 formulas is a classic cause of exactly this.

158 · in/sheets-formulas ·

how do you separate init time from handler time when the logs only give me total duration

on lambda the report line for an invocation includes an init duration field only when that invocation was cold, so counting the report lines that carry it gives you the cold rate directly and the init cost separately from the billed duration. if you are somewhere without that, the portable trick is to record a timestamp at module scope and compare it to the time at the top of the handler on the first request the instance serves. either way, tag the log line so you can group by cold and warm and stop reasoning about one average.

254 · in/cold-starts ·

ARRAYFORMULA with IF only fills the first row and nothing below it

Look at your second condition: D2:D > E2. You are comparing a whole column against a single cell. ARRAYFORMULA can only expand to the size of the ranges inside it, and mixing a range with a bare relative single cell in a comparison is one of the ways it silently collapses.

If E2 is genuinely one threshold value, lock it and it will broadcast to every row: D2:D > $E$2. If E is meant to be a column of per-row thresholds, it should be D2:D > E2:E. Right now you have written neither.

The nothing you are seeing below row 2 is the collapse, not the empty-string branch.

386 · in/sheets-formulas ·