XML 65 R51.htm IDEA: XBRL DOCUMENT
v3.21.2

Commitments and Contingencies - Additional Information (Details) - USD ($) | 1 Months Ended | 3 Months Ended | 9 Months Ended | 12 Months Ended |  |  |  |
--- | --- | --- | --- | --- | --- | --- | --- | ---
Jan. 31, 2017 | Dec. 31, 2019 | Sep. 30, 2021 | Dec. 31, 2020 | Dec. 31, 2019 | Dec. 31, 2018 | Dec. 31, 2022 | Dec. 31, 2021 | Jan. 17, 2020 | Oct. 31, 2018
Indemnification Agreement |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Liabilities recorded |  |  | $ 0 |  |  |  |  |  |  |
Securities Class Actions |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Legal expense, net of amounts directly covered by insurance |  | $ 100,000,000.0 |  |  |  |  |  |  |  |
Securities Class Actions | Pending Litigation |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Loss contingency, expected settlement amount |  |  |  |  |  |  |  |  | $ 187,500,000 |
Google Cloud Platform License Agreement |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Purchase commitment, description |  |  | The agreement has an initial term of five years and we are required to purchase at least $400.0 million of cloud services in each year of the agreement. For each of the first four years, up to 15% of this amount may be moved to a subsequent year. If we fail to meet the minimum purchase commitment during any year, we are required to pay the difference. |  |  |  |  |  |  |
Initial term of agreement | 5 years |  |  |  |  |  |  |  |  |
Minimum amount of services to be purchased in each year | $ 400,000,000.0 |  |  |  |  |  |  |  |  |
Initial period required to purchase minimum amount of services | 4 years |  |  |  |  |  |  |  |  |
Google Cloud Platform License Agreement | Maximum |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Purchase commitment, percentage of minimum purchase requirement that can be moved to subsequent year | 15.00% |  |  |  |  |  |  |  |  |
AWS Enterprise Agreement, Cloud Services |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Purchase commitment, description |  |  | In March 2016, we entered into the AWS Enterprise Agreement for the use of cloud services from Amazon Web Services, Inc. (“AWS”). Under the agreement, as amended, we are committed to spend an aggregate of $1.1 billion between January 2017 and December 2022 on AWS services ($90.0 million in 2018, $150.0 million in 2019, $215.0 million in 2020, $280.0 million in 2021, and $349.0 million in 2022). If we fail to meet the minimum purchase commitment during any year, we are required to pay the difference. Any such payment may be applied to future use of AWS services during the term, although it will not count towards meeting the future minimum purchase commitments. |  |  |  |  |  |  |
Minimum purchase commitment to spend between January 2017 and December 2022 |  |  |  |  |  |  |  |  |  | $ 1,100,000,000
Amount of purchase commitment paid |  |  |  | $ 215,000,000.0 | $ 150,000,000.0 | $ 90,000,000.0 |  |  |  |
AWS Enterprise Agreement, Cloud Services | Scenario Forecast |  |  |  |  |  |  |  |  |  |
Loss Contingencies [Line Items] |  |  |  |  |  |  |  |  |  |
Minimum purchase commitment |  |  |  |  |  |  | $ 349,000,000.0 | $ 280,000,000.0 |  |

X
- Definition Amended Purchase Obligation. + References No definition available. + Details
Name: | snap_AmendedPurchaseObligation
Namespace Prefix: | snap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of purchase commitment paid. + References No definition available. + Details
Name: | snap_AmountOfPurchaseCommitmentPaid
Namespace Prefix: | snap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Loss contingency expected settlement amount. + References No definition available. + Details
Name: | snap_LossContingencyExpectedSettlementAmount
Namespace Prefix: | snap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Purchase commitment, initial term. + References No definition available. + Details
Name: | snap_PurchaseCommitmentInitialTerm
Namespace Prefix: | snap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Purchase commitment, percentage of minimum purchase requirement, can be moved to subsequent year. + References No definition available. + Details
Name: | snap_PurchaseCommitmentPercentageOfMinimumPurchaseRequirementCanBeMovedToSubsequentYear
Namespace Prefix: | snap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | duration

X
- Definition Purchase commitment, period required to purchase minimum amount of services. + References No definition available. + Details
Name: | snap_PurchaseCommitmentPeriodRequiredToPurchaseMinimumAmountOfServices
Namespace Prefix: | snap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of litigation expense, including but not limited to legal, forensic, accounting, and investigative fees. + References No definition available. + Details
Name: | us-gaap_LitigationSettlementExpense
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

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_LossContingenciesLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of loss contingency liability. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 450 -SubTopic 20 -Section 50 -Paragraph 1 -URI http://asc.fasb.org/extlink&oid=121557415&loc=d3e14326-108349 + Details
Name: | us-gaap_LossContingencyAccrualAtCarryingValue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Minimum amount to be expended to satisfy the terms of arrangements in which the entity has agreed to expend funds to procure goods or services, excluding long-term purchase commitments or unconditional purchase obligations. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03(17)) -URI http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03(a)(19)) -URI http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02(25)) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_PurchaseCommitmentRemainingMinimumAmountCommitted
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Minimum amount of purchase arrangement in which the entity has agreed to expend funds to procure goods or services from a supplier. + References No definition available. + Details
Name: | us-gaap_PurchaseObligation
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Excluding long-term commitments, description of arrangements in which the entity has agreed to expend funds to procure goods or services from one or more suppliers, which may include identification of the goods or services to be purchased, identity of the seller, pricing, effects on pricing (such as penalties) of failing to reach minimum quantities required to be purchased, cancellation rights, and termination provisions. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 944 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.7-03.(a)(19)) -URI http://asc.fasb.org/extlink&oid=120400017&loc=d3e572229-122910 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 942 -SubTopic 210 -Section S99 -Paragraph 1 -Subparagraph (SX 210.9-03.17) -URI http://asc.fasb.org/extlink&oid=120398452&loc=d3e534808-122878 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 210 -SubTopic 10 -Section S99 -Paragraph 1 -Subparagraph (SX 210.5-02.25) -URI http://asc.fasb.org/extlink&oid=120391452&loc=d3e13212-122682 + Details
Name: | us-gaap_SignificantPurchaseCommitmentDescription
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Details
Name: | us-gaap_LossContingenciesByNatureOfContingencyAxis=us-gaap_IndemnificationGuaranteeMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_LitigationCaseAxis=snap_SecuritiesClassActionsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_LitigationStatusAxis=us-gaap_PendingLitigationMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=snap_GoogleCloudPlatformLicenseAgreementMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_RangeAxis=srt_MaximumMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_PurchaseCommitmentExcludingLongtermCommitmentAxis=snap_AmazonWebServicesIncEnterpriseAgreementCloudServicesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_StatementScenarioAxis=srt_ScenarioForecastMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |