A computer program product comprising a computer-readable storage medium with instructions, that when executed by one or more processors , cause the one or more processors to perform a method, the method comprising: receiving, at a computing system configured to receive a plurality of messages for a plurality of computing devices , a first message of the plurality of messages, wherein the first message is intended for a first user profile and wherein the first user profile and one or more other user profiles exist on a first computing device , wherein the first user profile and the one or more other user profiles are configurable to be active profiles on the first computing device, wherein an active user profile is a user profile, which is currently in use; receiving, at the computing system , a first status update from the first computing device indicating that the first user profile is non-active, wherein a non-active profile is a profile that is not currently in use, and wherein the first status update indicates that the first user profile is running in the background or that the first user profile is stopped; postponing, by the computing system , delivery of the first message to the first computing device , based on the first user profile being non-active, said method further comprising: receiving at the computing system a second message intended for a second user profile on the first computing device , wherein the first status update indicates that the second user profile is running; and pushing the second message to the first computing device , based on the second user profile being in a running state, while postponing delivery of the first message. receiving, at a computing system configured to receive a plurality of messages for a plurality of computing devices , a first message of the plurality of messages, wherein the first message is intended for a first user profile and wherein the first user profile and one or more other user profiles exist on a first computing device , wherein the first user profile and the one or more other user profiles are configurable to be active profiles on the first computing device, wherein an active user profile is a user profile, which is currently in use; receiving, at the computing system , a first status update from the first computing device indicating that the first user profile is non-active, wherein a non-active profile is a profile that is not currently in use, and wherein the first status update indicates that the first user profile is running in the background or that the first user profile is stopped; postponing, by the computing system , delivery of the first message to the first computing device , based on the first user profile being non-active, said method further comprising: receiving at the computing system a second message intended for a second user profile on the first computing device , wherein the first status update indicates that the second user profile is running; and pushing the second message to the first computing device , based on the second user profile being in a running state, while postponing delivery of the first message. receiving at the computing system a second message intended for a second user profile on the first computing device , wherein the first status update indicates that the second user profile is running; and pushing the second message to the first computing device , based on the second user profile being in a running state, while postponing delivery of the first message. <EOS>