A useful apology identifies what will happen differently next time.
GRATITUDE
GRATITUDE
Sorry describes a feeling; the useful part describes a change. Naming what will be different, concretely, is what turns an apology from an emotional statement into something the other person can hold you to and can plan around.
Add the sentence about next time. If you find you cannot say what will be different, that is worth knowing before you apologize, because the other person will notice the absence even if they cannot name it.
What would you promise to do differently in your next apology?
Free, with nothing to buy inside it.