Bubble counters are useless, they are only good for letting you know that CO2 is flowing through and out to the tank. My bubbles per second are uncountable.
So you have a few options to work with. You will need to get an accurate pH and KH reading or measure the pH from a degassed to gassed state. If you go the pH and KH method, just use a CO2 chart but you will want your calculation to be a bit higher than the chart to account for the acidification from nitrification.
While looking at this chart, let's assume your pH is 6.6 and KH is 4dKH. You will notice that you are in the red with 30.1ppm CO2. However, that's where you want to be do to to other acid sources. If you were at a pH of 6.7 and 4dKH, I would say you are low on CO2.
The most accurate way is to measure pH drop. You will take a sample of the tank water and let it sit out for 12 to 24 hours. After, pH that sample and record the pH. Then, once CO2 has been injecting about 2 hours, measure the pH. You are looking for a 1 to 1.5pH drop. My tanks are solid at a 1.2pH drop. If I go higher, I begin seeing signs of stress. You want excellent surface agitation and surface skimming really helps as well. You want to supply as much O2 as possible while gassing off CO2 at a high rate. The better the gas off, the harder you can push CO2 and create a stable curve while injecting. Any time you adjust CO2 up, you must be available to watch the fish. I would check pH every 15 minutes when dialing in my tanks and always on a day off when I could watch the tank. If the KH is stable, you will always know where you are just by taking a pH reading. But a KH that changes will also change the pH readings, so be aware of this possibility. I run 0dKH, there for I always know my 4.9 to 5.1pH is where I need to be.
https://www.2hraquarist.com/blogs/choosing-co2-why