Why a Stack of SaaS Tools Does Not Raise Revenue
Why adding more SaaS tools often fails to raise revenue, viewed through bottlenecks, cost, and workflow design.
Conclusion first: Revenue rises only when the events that directly touch money (booking, inquiry, settlement, revisit) are automated first. Everything else merely increases cost.
Event Sources on the Revenue Path

Define booking completion, inquiry receipt, payment success, and revisit reservation as core events. For each event record owner, metric, and integration surface.
Process Map and Measurement
| Stage | Event Source | Owner | Metric | Before | After |
|---|---|---|---|---|---|
| Booking | webhook | Marketing | Conversion | 12% | 31% |
| Settlement | API pull | Finance | DSO | 14 days | 3 days |
ROI Calculation Table
| Item | Cost | Savings | Payback |
|---|---|---|---|
| Apps Script runtime | $0 | 18 h/mo | immediate |
| 3 SaaS subscriptions | $240 | $180 | 4 months |
Automation Spec Template
function onBooking(e) {
const lock = LockService.getScriptLock();
if (!lock.tryLock(5000)) return;
try {
// process and log
} finally { lock.releaseLock(); }
}
Implementation Steps
- Log events into Sheets
- Apply LockService + retry-backoff
- Measure 30 days before scaling
Automating only the booking event has produced a 19% lift in average order value within three months.
Failure Modes and Exceptions
- Concurrency collisions when LockService is omitted
- Spreadsheet limits beyond 20 concurrent requests; see spreadsheet-inventory-limits
- No gradual rollout possible; see no-gradual-rollout
When Not to Use This Approach
If an enterprise ERP is already in place or monthly bookings exceed 500, evaluate an external workflow engine instead. See when-to-leave-gas.
Final review criteria
The useful question is not how many features the automation has. It is whether the workflow can be understood, recovered, and safely rerun after something goes wrong.
- Raw input is separated from the human-facing working view.
- Each run records success, failure, processed count, and error message.
- Replaying the same input does not create duplicate results.
- Permission changes, quota errors, and external API failures are visible later.
For low-risk internal tasks, that may be enough. For customer replies, booking confirmation, inventory updates, payments, or legal records, the threshold is higher: compare Apps Script against a dedicated SaaS or a small server-backed system before relying on it.