Something to think about is keeping the antenna cables as short as absolutely possible. You could have a super great antenna with 15m of cable perform worse than an average antenna with short cables, due to losses. I'm using a Poynting XPOL2-5G which is sort of a directional antenna, just not a "yagi" type. It does use 2 cables, which in my understanding the most performing antennas do.
Second thing is to get a modem/router with possibilities of changing bands (and preferably configure carrier aggregation). I use a Huawei B535-333. I actually got two of these (one is the earlier -232), however the newer one performs even better than the old one due to a different modem. To configure the modem I use an application called HuaCtrl (android application). It allows me to configure which bands to connect to and it also simplified installation quite a bit. Spent quite some time on the roof adjusting the antenna, using the graphs in the application to aid as where to point it.
I have 4 cell towers to choose from, only one of them gives decent speeds (and happens to be the one furthest away, about 2,5km). I'm using 700MHz band with 2600MHz as CA. Note that usually only one band (the primary) is used for upload only.
Another thing to note is that different towers usually use different frequencies. A year ago or so it was possible to look up the cell tower locations on a map, however due to physical sabotage (IIUC) the carriers removed that information from their publicly available maps.
The Poynting antenna mentioned covers the used frequencies btw + 5G frequencies. I think Dustin sells the modem+antenna as a pack these days, for a discounted price.
Links to what I'm using:
https://www.dustinhome.se/product/5011165791/xpol-2-5g-riktan...
https://www.dustinhome.se/product/5011229706/b535-tradlos-4g-...