I recommend making a sharp pointer that you can attach (repeatably) to your tool. Teach a tool frame for that first.
Then with that newly taught tool frame active you can teach your user frame. It isn't possible to teach an accurate user frame without the tool first because you are using the TCP to teach the user frame.
The robot only knows itself, or rather an internal model if itself. When you teach a tool frame then it now will know where that pointer is relative to itself. Then when using the pointer to teach the user frame it will now know where the conveyor is relative to itself. It all builds together.
The best place to put your origin (and x+ and y+ points) is where you can repeatably do it again in the future and it lines up straight with your conveyor. I prefer to attach or punch a physical point into the object such as a side wall of the conveyor.
3 point Tool and 3 point user frame is the standard and is perfect for most applications.