v3.22.0.1
Net Income Per Share (Schedule of Earnings Per Share) (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Millions
12 Months Ended
Dec. 31, 2021
Dec. 31, 2020
Dec. 31, 2019
Denominator      
Basic net income per share (in dollars per share) $ 113.88 $ 59.15 $ 49.59
Weighted-average effect of dilutive securities      
Diluted net income per share (in dollars per share) $ 112.20 $ 58.61 $ 49.16
Class A Common Stock      
Numerator      
Allocation of undistributed earnings $ 34,200 $ 17,733 $ 14,846
Denominator      
Number of shares used in basic computation (in shares) 300,310 299,815 299,402
Basic net income per share (in dollars per share) $ 113.88 $ 59.15 $ 49.59
Numerator      
Allocation of undistributed earnings for basic computation $ 34,200 $ 17,733 $ 14,846
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 5,174 2,732 2,307
Reallocation of undistributed earnings (581) (180) (126)
Allocation of undistributed earnings $ 38,793 $ 20,285 $ 17,027
Denominator      
Number of shares used in basic computation (in shares) 300,310 299,815 299,402
Weighted-average effect of dilutive securities      
Conversion of Class B to Class A common shares outstanding (in shares) 45,430 46,182 46,527
Restricted stock units and other contingently issuable shares (in shares) 15 87 413
Number of shares used in per share computation (in shares) 345,755 346,084 346,342
Diluted net income per share (in dollars per share) $ 112.20 $ 58.61 $ 49.16
Class B Common Stock      
Numerator      
Allocation of undistributed earnings $ 5,174 $ 2,732 $ 2,307
Denominator      
Number of shares used in basic computation (in shares) 45,430 46,182 46,527
Basic net income per share (in dollars per share) $ 113.88 $ 59.15 $ 49.59
Numerator      
Allocation of undistributed earnings for basic computation $ 5,174 $ 2,732 $ 2,307
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 0 0 0
Reallocation of undistributed earnings (77) (25) (20)
Allocation of undistributed earnings $ 5,097 $ 2,707 $ 2,287
Denominator      
Number of shares used in basic computation (in shares) 45,430 46,182 46,527
Weighted-average effect of dilutive securities      
Conversion of Class B to Class A common shares outstanding (in shares) 0 0 0
Restricted stock units and other contingently issuable shares (in shares) 0 0 0
Number of shares used in per share computation (in shares) 45,430 46,182 46,527
Diluted net income per share (in dollars per share) $ 112.20 $ 58.61 $ 49.16
Class C Capital Stock      
Numerator      
Allocation of undistributed earnings $ 36,659 $ 19,804 $ 17,190
Denominator      
Number of shares used in basic computation (in shares) 321,910 334,819 346,667
Basic net income per share (in dollars per share) $ 113.88 $ 59.15 $ 49.59
Numerator      
Allocation of undistributed earnings for basic computation $ 36,659 $ 19,804 $ 17,190
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 0 0 0
Reallocation of undistributed earnings 581 180 126
Allocation of undistributed earnings $ 37,240 $ 19,984 $ 17,316
Denominator      
Number of shares used in basic computation (in shares) 321,910 334,819 346,667
Weighted-average effect of dilutive securities      
Conversion of Class B to Class A common shares outstanding (in shares) 0 0 0
Restricted stock units and other contingently issuable shares (in shares) 10,009 6,125 5,547
Number of shares used in per share computation (in shares) 331,919 340,944 352,214
Diluted net income per share (in dollars per share) $ 112.20 $ 58.61 $ 49.16