1- use the “collection info” node to enter a collection in a GN tree.
2- here I have 2 collections one has 3 red round things the other 3 blue cube-ish things
I separate the points of the grid randomly and use the selection to instance one collection (randomly) on the points and the inverted selection to do the same with the other collection.
There are probably other ways to do it.
With this first setup there should always be one random object on every point/vertex of the grid.
The second setup distributes objects randomly on faces with a density factor and there will be some spaces with lower values, the higher the density factor the more objects and less spaces there will be.
When using random distribution on faces you will find that some objects will overlap. This is not so easy to avoid you could take a look at this thread:
There has also been talk about this overlapping in the (huge) GN node thread, unfortunately the information is randomly spread on that thread and it is not so easy to follow.
GN node are fun, I am only scratching the surface myself, at first they were very “daunting” but little by little I am trying to get the concepts together.
I always recommend Erindale’s channel on you tube for node things, he is really good at explaining things.