Remember that most carriers implement a very strict NAT when it comes to mobile data. You will need to, at least, implement a reverse connection from the Pi to the controller, depending on your setup. See below.
Depending on your setup
- Whether your Pi asks for information (e.g. by polling a REST API) or
- Whether your Pi acts as a server for you to connect to
You may or may not need to do any special measures.
If your Pi follows the first bullet, you do not need to do anything, since most carriers allow outbound connections.
If your Pi is a server (second bullet), you will need to implement reverse connections (or reverse tunneling, depending on your setup), since most carriers DO NOT allow port forwarding (or unrelated inbound connections) with mobile data.
Keyword is reverse tunneling. Go do some research. Start your experiments with reverse SSH. If you can do that, you can do anything.