Good morning, Sheila.
Sorry to hear about your carpet odor problem. I would like to highly recommend to you a product that I have used for more than thirty (30!) years. No, I don't have any financial stake in this company. It is an enzymatic cleaner specific to dog urine that neutralizes the urine smell.
When first applied, it has a slight smell of it's own - not at all unpleasant - but when the product dries, there is no remaining smell. No smell of the product, no smell of urine.
Many years ago, I used to breed Staffordshire Bull Terriers. This statement is a bit grand, probably, as I only bred three litters in ten years. And then I stopped. To make a long story short, at one time I kept seven medium-sized dogs (Staffords weigh around 35 - 40 pounds) inside my 800-square-foot house (!). I didn't have a kennel (they each had their own crate,and they knew whose was whose!), just a house with a back yard. Lots of "accidents", sure, especially when my dogs were young.
I often had friends come to visit that knew I had dogs, would come inside my house, and ask something like "Where are your dogs? I don't smell anything." True story.
They didn't smell anything, because I was religious in cleaning up messes - and also because I used this product.
The company is called "NIL
odor". 'NIL' as in 'no', thus "no-odor". The product is called "Nilodor Natural Touch" or just "Natural Touch".
Here is the company website:
https://www.nilodor.com/Here is the product I have used for 30 years:
Spray bottle:
https://www.nilodorpets.com/OnlineCatalog/Urine_Odor_and_Stain_Eliminator-details.aspx Gallon bottle:
https://www.nilodorpets.com/OnlineCatalog/Natural_Touch_Urine_Eliminator_Gallon-details.aspxI always just buy the gallon size (it might seem expensive, but it is WORTH it). A gallon might last me a year or two (or more - it doesn't go bad); my Big Joe (an ex-kennel dog) will sometimes urinate on my concrete patio instead of the grass in the back yard. This product takes care of the smell on the concrete (and, of course, on carpeting or linoleum as well).
This product can be difficult to find, I'm not sure why. I used to be able to get it at my local pet supply store, but since they went out of business several years back, I have been unable to find it locally, so I just buy it online.
Amazon has it, in both the spray bottles and the gallon:
Spray:
https://www.amazon.com/Nilodor-C519-009-Urine-Stain-Eliminator/dp/B00DWZC3AU/ref=sr_1_28?dchild=1&keywords=nilodor&qid=1587652265&sr=8-28Gallon:
https://www.amazon.com/Nilodor-Natural-Advanced-Bilogical-Remover/dp/B00063KNEY/ref=sr_1_50?dchild=1&keywords=nilodor&qid=1587652477&sr=8-50There are a lot of different products of this kind on Amazon.
**BE SURE YOU ARE GETTING THE NILODOR NATURAL TOUCH product** and not something else.
Another thing I would suggest, along with using this product, is to rent a carpet steam cleaner vaccuum from somewhere.
Liberally treat your carpet with this product (following the directions on the bottle), then use the steam cleaner to vacuum the whole treated area - to remove (suck up) the moisture to remove the Natural Touch and urine residue.
I think it is important to use the steam cleaner I think it will give you the best results when using the Natural Touch, because (as you say) this problem has been persisting for quite a while. Probably you will have the steam cleaner for a 24-hour rental. Again, since your problem has been persisting for quite a while, I would do the process when you first get the machine, then again 20 or so hours later - before you take the machine back. If there is still any remaining moisture in your carpet - there shouldn't be much -
after each time you use the machine, put a couple of towels down on the area and step on the towels until the towels are not picking anything more up, and come back mostly dry when you step on them.
Truly, Nilodor works very well. It does not "mask" the smell, but actually neutralizes and removes it.
Good luck, Sheila!
Any questions, please ask.
Anne