For keyword-level tracking, you will need to base the size of the pool on the maximum number of concurrent visitors from Google Ads on your website.
In Google Analytics navigate to "Audience - Overview", select hourly from the drop-down on the right side, Users from the drop-down on the left side and Segment with paid traffic only. From this report you should note the peak and the average session duration.
If for instance your peak is 200 users and the average session duration is 3 minutes the pool of tracking numbers needed is 200/(60/3) = 10 tracking numbers.
When a visitor arrives on your website, they will see a number from the pool. This number is uniquely assigned to that visitor for the duration of their session. When the visitor is no longer active, the number is returned to the pool so it can be used by another visitor.
When a call is received, Nimbata knows which user viewed the number and can attribute the call to the user's session. Along with the session Nimbata can attribute the call back to the campaign or search keyword that generated the call.