The code you provided looks correct.
Two things to check.
1. Make sure you did the allowlisting in steps 3 and 4
https://docs.chain.link/ccip/tutorials/evm/programmable-token-transfers#deploy-your-contracts
2. Are you sending tokens with your data? If not, that can cause a revert as well.