OK so this is a quick tutorial on how to set you z offset with an auto leveling probe.
Check out one of my machines running a G29 here: https://www.youtube.com/watch?v=TxufWY9Mq90
I will say the best probe out there is a genuine BLTouch. I have them on all 3 of my printers and they work great! I used to use different other types and even tried generic BLTouch with little success.
I have a full line of BLTouch ready Anet A8 carriages too:
Stock-ish for use with the default Anet A8 extruder
Single Bowden BLTouch
Dual Bowden Superlite! BLTouch
I also have BLTouch spacers
As well as Marlin 1.1.x guide
And RAMPS 1.x guide
Also an Octoprint and GPIO guide
Also for most situations Bi-linear leveling is best. This allows the firmware to calculate bed level on two axis without too much work.
First step is to connect to your printer. You can use the Terminal tab in Octoprint or a cable to a computer with Putty or the Arduino IDE. You can use any serial command program really but I find these easiest. Setup the connection same as your slicer or other program.
If you just flashed Marlin you need to send command M502 then send M500 to save it. This loads your defaults from your configuration.h file. This is from https://github.com/MarlinFirmware/Marlin/wiki/EEPROM
Next send G28 to home all axis then send G0 Z0 to set the nozzle at 0 above bed. Is it still way off? If so you need to adjust your offset with M851, see http://marlinfw.org/docs/gcode/M851.html
To set your offset get a sheet of paper and pre heat the extruder. This gets everything expanded and ready.
Place the paper sheet on the bed and use command M211 S0 to turn off software endstops. See http://marlinfw.org/docs/gcode/M211.html
Next using controls or G0 z-0.1 work the printer down until the nozzle is lightly touching and gripping the paper. Then send M114 to get that position. See http://marlinfw.org/docs/gcode/M114.html
With the output from M114 you set the M851 offset. The output should be a negative number like z -1.4 then you just send M851 Z-1.4 and M500 to save it.
Once that is done send M211 S1 to turn back on endstops, this is important! Save with M500.
Next home the printer with G28 and run a bi-linear level with G29 then save the data with M500 and enjoy!
Put the command G29 after the home command in your start G-code to level before each print.