Balance Sheet Components - Schedule of Accounts Receivable, Net (Details) - USD ($) $ in Thousands |
Dec. 31, 2020 |
Dec. 31, 2019 |
Dec. 31, 2018 |
Dec. 31, 2017 |
|---|---|---|---|---|
| Valuation And Qualifying Accounts Disclosure [Line Items] | ||||
| Gross accounts receivable | $ 565,088 | $ 360,194 | ||
| Allowance for accounts receivable | (41,236) | (27,521) | ||
| Total Accounts Receivable, net of allowances | 523,852 | 332,673 | ||
| Allowance for Sales Returns | ||||
| Valuation And Qualifying Accounts Disclosure [Line Items] | ||||
| Allowance for accounts receivable | (5,912) | (6,550) | $ (7,335) | $ (6,907) |
| Allowance for Sales Incentives | ||||
| Valuation And Qualifying Accounts Disclosure [Line Items] | ||||
| Allowance for accounts receivable | (30,838) | (19,476) | (13,750) | (10,442) |
| Allowance for Doubtful Accounts | ||||
| Valuation And Qualifying Accounts Disclosure [Line Items] | ||||
| Allowance for accounts receivable | (4,181) | (1,140) | $ (686) | $ (63) |
| Other Allowances | ||||
| Valuation And Qualifying Accounts Disclosure [Line Items] | ||||
| Allowance for accounts receivable | $ (305) | $ (355) |