Distinguishing bitcoin deposits
Generally speaking, the only way to distinguish incoming payments is by some combination of

sending address (usually arbitrary and not always known in advance)
amount (could be same for many people if you are selling fixed-price widgets)
receiving address (no good if you give everyone the same address to send money to)

That is one reason why best practice is to generate a new receiving address per transaction.