Note one - Freeplay matches are the only thing that your xp is being tracked on. SP, Campaign, and Challenges will not be tracked. (But I think you knew that already...)
Note two - If you drop out of the match for any reason at all, your xp will not be recorded, regardless of you being disconnected by lag or by choice.
It also takes time to update them. Stat sites really have a hard time updating every second just because someone shot his/her gun.