If you find that your spark is very thin, yellow or orange in color, or can only jump a very short distance, then you might have an insufficient spark to combust your gas properly. This is almost always caused by corrosion.
On points bikes, remove your points plate and check your point gap. Also check the surface of your points and remove any rust or corrosion you can find. Here is a video showing how to do that:
On all bikes, inspect every connection and evaluate it for rust and corrosion. Pull them apart and especially look for frayed wiring, whitish corrosion, and brown rust. Also look for moisture. This includes every connection you can find related to the electrical system, including up under the spark plug boots. Clean it all up if you can with a screwdriver or file, reassemble, and see if that helps.
You may also have a failing CDI box or coil. This is how to check for that:
If you do all this and still cannot solve the problem, truck the bike home and do some further diagnostic work. Here is a video on how to use your wiring diagram to find electrical faults: