The main factor that affected immigration to the colonies was the nature of each colony's economy. Some areas were seen as less friendly to small farmers and therefore those regions got fewer immigrants. This was particularly true of the Chesapeake and Southern colonies and, to some extent, New York. In the Chesapeake and the South, the presence of large slave plantations made the colonies seem less friendly to small farmers. In New York, the persistence of large estates left over from Dutch times did the same.
A second factor was religion. Some colonies, like Pennsylvania and Maryland, were particularly known for their religious tolerance. In other cases, like New England, a colony was associated strongly with a given church and tended to attract immigrants from that church.