v3.20.4
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)