Typically you have a separate database just for analytics, exactly for the reason you described. You don't want to hold up actual business logic.
And yes typically you also have a job queue for the same reason. So e.g. API calls don't take longer due to database event writes.
If your needs are similar to the original questioner (still starting out, few thousand users), I'd say even the separate database isn't necessary, just the job queue. Heck even the job queue is probably optional at that scale, but most hosting platforms make job queues easy enough to integrate so I say why not.