I'll add an aside here.....my old dog Meg got very incontinent in her old age, bless. Whatever I did my young puppy could smell and add her personal touch too. I ended up having to buy a whole new lounge carpet as I seemingly had a daily battle caused by an accident months prior. I did try baking soda and that did not work. I did try white vinegar and it half worked but I don't think I soaked the carpet enough (besides the house smelt like a chippy for a week) you need to get (as I wished on hindsight that I had done) is an odour eliminator and shampoo the carpet asap.
Baking soda is good for pet smells on carpets (and not accidents) white vinegar is good for the immediate use within seconds of accidents but after fifteen minutes the best result is washing powder in liquid form (bold, daz etc) newspapers or old towels to tread up the wet, odour eliminator to let seep down (residue removed with towels/newspapers which you walk on) then a carpet shampoo and then a spray of odour eliminator left to dry....a long process but after 4 years I have got wise so when I moved and an accident happened I could treat immediately and know I had solved the problem as my remaining dog has not left her scent in the same place again.
Gelda made a good comment but in the wrong topic. If you buy fish paste in jars then when you have eaten the contents wash out the container and keep the lid. Sink jars up to their necks dotted round the garden/flower beds etc., and pour ammonia into the empty pots and cats will stay well away from your flower beds and not be harmed. If it's likely to rain then pop the lid on the jar. If you want to water the garden then pop the lid on first. Foolproof method of keeping cats off your garden.