Gs.status.receive messages

Just curious about the “txok” count on the gateway status messages of the v3 console

For me, the value is always == “txin”, whereas my “rxok” value is always < “rxin” value.
I can perfectly understand that a fair percentage of messages received over the air from nodes are going to get rejected and won’t get forwarded to xx.cloud.thethings.network

But how does the gateway know that a tx has failed?
I think what I’m getting at is, in what situation would the value of “txok” < “txin” … because I never see that in the “Receive gateway status” messages ?!