20 hours is not always enough for everything to show up in reports. It can take 24 hours and in some cases I even see it taking 48 hours. Their documentation states:
Processing latency is 24-48 hours. Standard accounts that send more than 200,000 sessions per day to Google Analytics will result in the reports being refreshed only once a day. This can delay updates to reports and metrics for up to two days.
There is also the issue of "sampling". Google Analytics doesn't always measure everything. Sometimes it only measures part of your visitors and estimates the rest. When this happens the reports say that they are "based on sampled data".
Google uses either meta tag or iframe to sense the visitor on your website. Recently for accuracy google analytics is asking all webmaster to use advance code snippet to be added on the webpages. Advanced tracking JS
Head over to Google Analytics->Admin->Property->Tracking info->Tracking code and add this code to enable accurate tracking.