As one of the unicorns in Indonesia, Tokopedia sees web as the right platform to attain new users due to its accessibility, since we can easily access it from any built-in browser installed in smartphones. It is so easy for potential customers who are searching for ads, promotions, or any hooks to buy something online, without needing to download the app first.
It can be a problem when potential customers are looking for ads, hooks, or any other promotions that are on the move–not in the office or the house. And often they may be away from wi-fi connections, and use cellular networks with high latency and unstable coverage. These conditions will make the experience on accessing Tokopedia website not good enough because the processing time can be longer to load the page. As a result, users potentially cancel their action as the page takes too long to load.
The scenario above is supported by a study from Doubleclick, which states:
there is 53% of losses from potential customers if they don’t see anything on the screen in 3 seconds when they are trying to access the website.
The technology behind Tokopedia website already falls behind and is not well optimized for mobile. But we have started an improvement at the beginning of 2017, to change the website that was built in Perl to use React. Changing the language and framework to a more popular and modern one is challenging, but unfortunately it may be not enough. Tokopedia mobile web still needs 14 seconds to display something on the screen under 3G network with mid-range smartphones. Therefore, the possibility of losing potential users is still too high.
To overcome this problem, Tokopedia engineering team has done some improvements so that users can see initial content on their screen within 3 seconds with 3G connections on mid-range smartphones. We implemented server-side rendering with React Universal. The reason why the loading process can be time consuming is because it needs to call a lot of APIs to get the contents and display them on the screen. So, many round trips are taken only to load the contents. An optimization is needed to reduce the round trips and show the content faster.
We got significant results after implementing server rendering:
- Page load time (initial content) reduced from 14s to 2s (85% reduction) for 3G network on average smartphones.
- Number of visitors increased by 19%.
- Total sessions increased by 35%.
- New users increased by 7%.
- Active users increased by 17%.
- Sessions per user increased by 16%.
From the results above, we can obtain that the loading page improvement is significantly helpful on getting new users, just by showing any element on the screen as soon as possible. Also, the users are eager to access more contents because the interaction process is faster. Improving the user experience on page loading time will make them stay and want to interact more, compared to the slow loaded page.