Functions in Google Sheets recalculate only under certain conditions. One condition is that it detects a change in the function definition. This is what shake option is for!

The shake option is just a way to tell Google Sheets that the function definition has changed and that it has to recalculate. It doesn’t matter if the value is TRUE or FALSE. What matters instead is that it goes from one state to another.

Note that shake does not necessarily fetch the latest data from the source. It tries beforehand to retrieve the data from the cache. If the cache is too old (more than 24 hours by default) or the function displays an error, then it fetches the target page.

Use it to:

  • update the function in case it did not manage to load the page

The engine behind ImportJSON is powerful enough to do several attempts before failing.
If you receive a #PAGE_REQUEST_FAILED error, it might be that the page is too hard to load. If you use “shake”, it will still try a few more attempts before failing again.

  • retrieve pending requests (as indicated by the #PENDING_REQUEST message)

PENDING_REQUEST is a usual message returned by ImportJSON. Google gives 30 seconds to a function to return something. This time might be too short in some situations.
It does not mean that the request failed as our servers are still working on the job. Give it some time and try “shaking” the function to ask our servers for the final results.

A convenient use is to couple it with a tick box (Menu > Insert > Tick box)