If the fuel milage used to be more normal while you’ve owned the car I would look at the service items first along with looking for any vacuum leaks.
If your car has OBD plug it in. Lots of parts shops will scan your car for free or if you bring a mechanic a coffee they will too. I know I would! Its such a valuble tool. It makes searching for possible causes of your problem so much easier and faster.
In any case don’t just throw parts at it. Investigate them first unless they’re due – as per milage interval – and you can afford it.
The very first thing I would check is the coolant temp sensor for the ECU. Some cars have 2 sensors. One for the ECU one for the dash. They don’t last forever and they tend to slowly fail rather than all of a sudden. When they completely fail all sorts of issues arise as the ECU cant properly fuel the engine for its temp, usually resorts to one fixed map and its usually rich.
You can test the coil positive and negative pols for resistance measurments. If its above the limits or close replace it. Coils are the most over looked tune up item. They do last a long time but like anything else will wear out. Weaker spark = weaker combustion, more fuel consumed.
Wires are the same. If the wires are within the spec leave em. If higher replace them.
Did you check the condition of the cap/rotor if equipped? If its a coil pack system check the resistance values against spec.
O2 sensors last a long time but eventually fail. And they tend to fail over time meaning its not all of a sudden rather they just get worse and worse. Usually causing worse and worse fuel consumption and loss of power. If you drive around on a completely failed one you will run rich all the time.
Another thing to check is your EGR system if equipped. More often than not the ports are plugged up with soot and the valve still works just cant do its job. Early vacuum powered EGRs can be easily tested by at idle pushing up on the rubber diaphragm underneath it. This should allow EGR flow. If the engine runs very poor or stalls when you do this it works.
Also another good idea is to poor in a bottle of good injector cleaner into half a tank and go for a drive. Its argued weather its better to run cleaner thru the entire system vs just the fuel rail, but at this point for $6 its worth a shot.
Some mechanics don’t do this as it can dislodge varnish in the tank and plug up the filter. In some cases I agree but in my own car I run a bottle thru every oil change – as recommended by the manufacture and have had no issue. In that same breath I also change my fuel filter everytime I’m due for spark plugs for good measure. Fuel where I live is far from clean.