v3.24.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, 2023
Dec. 31, 2022
Dec. 31, 2021
Denominator      
Basic net income per share (in dollars per share) $ 5.84 $ 4.59 $ 5.69
Weighted-average effect of dilutive securities      
Diluted net income per share (in dollars per share) $ 5.80 $ 4.56 $ 5.61
Class A Common Stock      
Numerator      
Allocation of undistributed earnings $ 34,601 $ 27,518 $ 34,200
Denominator      
Number of shares used in per share computation (in shares) 5,922,000 5,994,000 6,006,000
Basic net income per share (in dollars per share) $ 5.84 $ 4.59 $ 5.69
Numerator      
Allocation of undistributed earnings for basic computation $ 34,601 $ 27,518 $ 34,200
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 5,124 4,072 5,174
Reallocation of undistributed earnings (287) (230) (581)
Allocation of undistributed earnings $ 39,438 $ 31,360 $ 38,793
Denominator      
Number of shares used in per share computation (in shares) 5,922,000 5,994,000 6,006,000
Weighted-average effect of dilutive securities      
Conversion of Class B to Class A common shares outstanding (in shares) 877,000 887,000 909,000
Restricted stock units and other contingently issuable shares (in shares) 0 0 0
Number of shares used in per share computation (in shares) 6,799,000 6,881,000 6,915,000
Diluted net income per share (in dollars per share) $ 5.80 $ 4.56 $ 5.61
Class B Common Stock      
Numerator      
Allocation of undistributed earnings $ 5,124 $ 4,072 $ 5,174
Denominator      
Number of shares used in per share computation (in shares) 877,000 887,000 909,000
Basic net income per share (in dollars per share) $ 5.84 $ 4.59 $ 5.69
Numerator      
Allocation of undistributed earnings for basic computation $ 5,124 $ 4,072 $ 5,174
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 0 0 0
Reallocation of undistributed earnings (37) (30) (77)
Allocation of undistributed earnings $ 5,087 $ 4,042 $ 5,097
Denominator      
Number of shares used in per share computation (in shares) 877,000 887,000 909,000
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) 877,000 887,000 909,000
Diluted net income per share (in dollars per share) $ 5.80 $ 4.56 $ 5.61
Class C Capital Stock      
Numerator      
Allocation of undistributed earnings $ 34,070 $ 28,382 $ 36,659
Denominator      
Number of shares used in per share computation (in shares) 5,831,000 6,182,000 6,438,000
Basic net income per share (in dollars per share) $ 5.84 $ 4.59 $ 5.69
Numerator      
Allocation of undistributed earnings for basic computation $ 34,070 $ 28,382 $ 36,659
Reallocation of undistributed earnings as a result of conversion of Class B to Class A shares 0 0 0
Reallocation of undistributed earnings 287 230 581
Allocation of undistributed earnings $ 34,357 $ 28,612 $ 37,240
Denominator      
Number of shares used in per share computation (in shares) 5,831,000 6,182,000 6,438,000
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) 92,000 96,000 200,000
Number of shares used in per share computation (in shares) 5,923,000 6,278,000 6,638,000
Diluted net income per share (in dollars per share) $ 5.80 $ 4.56 $ 5.61