Players improve their experience by playing matches. The amount of experience they gain from each match depends on how long they spend on the pitch in every match, and the experience of other players playing alongside them during their time on the pitch. So if your players are up against a team with highly experienced players, they have a higher chance of gaining experience. Similarly, having highly experienced players in your own team will also help your other players to gain more experience.
Experience gains also tend to decrease as a player gains more and more experience. The higher a player's current experience is, the lower he is likely to gain more of it.
Experience Gain From Custom Matches
Your players can gain experience from 30 custom matches every season. You can decide which 30 matches you want to use for experience gaining from the Custom Matches tab in the My Matches page under Competition menu. The first 30 matches are enabled every season by default, but you can disable some of them as required. However, a custom match can be disabled for experience gains only until they are played, and cannot be enabled or disabled after that.
Unlike regular matches, experience gained from custom matches does not depend on experience of your opposition team's players. Instead, ONLY the experience of players in your own team are used in experience gain calculations during custom matches. Also note that playing in custom matches will give only 80% as much experience to your players as they would get from a regular competitive match.