XML 115 R100.htm IDEA: XBRL DOCUMENT
v3.24.0.1

Stock-Based Compensation - Stock-Based Compensation Expense (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2023 | Dec. 31, 2022 | Dec. 31, 2021
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | $ 675,857 | $ 798,560 | $ 632,285
Cost of revenue |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | 26,343 | 21,136 | 14,074
Research and development |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | 331,526 | 374,846 | 258,672
Sales and marketing |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | 183,389 | 240,109 | 213,351
General and administrative |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | 121,584 | 148,194 | 146,188
Restructuring costs |  |  |
Share-based Payment Arrangement, Expensed and Capitalized, Amount [Line Items] |  |  |
Stock-based compensation | $ 13,015 | $ 14,275 | $ 0

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + References No definition available. + Details
Name: | us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of noncash expense for share-based payment arrangement. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Section 45 -Paragraph 28 -Subparagraph (a) -SubTopic 10 -Topic 230 -Publisher FASB -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28 + Details
Name: | us-gaap_ShareBasedCompensation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_CostOfSalesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_ResearchAndDevelopmentExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_SellingAndMarketingExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_GeneralAndAdministrativeExpenseMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_IncomeStatementLocationAxis=us-gaap_RestructuringChargesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |