XML 82 R108.htm IDEA: XBRL DOCUMENT v2.4.1.9
Fair Value (Fair Value Measurement - Nonrecurring Basis) (Details) (USD $)
In Millions, unless otherwise specified
Mar. 31, 2015
Dec. 31, 2014
Mar. 31, 2014
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net $ 1,559us-gaap_LoansReceivableHeldForSaleNet $ 2,003us-gaap_LoansReceivableHeldForSaleNet  
Fair Value, Inputs, Level 1 [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
 
Fair Value, Inputs, Level 2 [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
485us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
 
Fair Value, Inputs, Level 3 [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 1,561us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
1,554us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
 
Fair Value, Measurements, Nonrecurring [Member] | Consumer Loans Auto Financing Receivable [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 1,500us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Lower of cost or fair value or valuation reserve allowance (8)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Residential Mortgage [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 28us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Lower of cost or fair value or valuation reserve allowance (5)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Commercial And Industrial Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 17us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialAndIndustrialOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Lower of cost or fair value or valuation reserve allowance 0ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialAndIndustrialOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Loans Held-for-Sale [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 1,545us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_LoansHeldforSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Lower of cost or fair value or valuation reserve allowance (13)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_LoansHeldforSaleMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Commercial Finance Receivables And Loans, Automotive [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 26ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  31ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance (7)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  (6)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Commercial Finance Receivables And Loans, Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 18ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  53ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance (8)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  (20)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Commercial Loan [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 44ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  84ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance (15)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  (26)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Repossessed And Foreclosed Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 8us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  11us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance (2)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  1ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Other Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 2us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  2us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance 0ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Assets, Total [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets, Fair Value Disclosure 1,599us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  97us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Lower of cost or fair value or valuation reserve allowance (30)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  (25)ally_LowerOfCostOrFairValueOrValuationReserveAllowance
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Consumer Loans Auto Financing Receivable [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Residential Mortgage [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Commercial And Industrial Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialAndIndustrialOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Loans Held-for-Sale [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_LoansHeldforSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Commercial Finance Receivables And Loans, Automotive [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Commercial Finance Receivables And Loans, Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Commercial Loan [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Repossessed And Foreclosed Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Other Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 1 [Member] | Assets, Total [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets, Fair Value Disclosure 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel1Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Consumer Loans Auto Financing Receivable [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Residential Mortgage [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Commercial And Industrial Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialAndIndustrialOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Loans Held-for-Sale [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 0us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_LoansHeldforSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Commercial Finance Receivables And Loans, Automotive [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Commercial Finance Receivables And Loans, Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Commercial Loan [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Repossessed And Foreclosed Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Other Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 2 [Member] | Assets, Total [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets, Fair Value Disclosure 0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  0us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel2Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Consumer Loans Auto Financing Receivable [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 1,500us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ConsumerLoansAutoFinancingReceivableMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Residential Mortgage [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 28us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_ResidentialMortgageMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Commercial And Industrial Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 17us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialAndIndustrialOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Loans Held-for-Sale [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Loans held-for-sale, net 1,545us-gaap_LoansReceivableHeldForSaleNet
/ us-gaap_FairValueByAssetClassAxis
= ally_LoansHeldforSaleMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
   
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Commercial Finance Receivables And Loans, Automotive [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 26ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  31ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansAutomotiveMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Commercial Finance Receivables And Loans, Other [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 18ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  53ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= ally_CommercialFinanceReceivablesAndLoansOtherMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Commercial Loan [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Commercial Finance Receivables and Loans, Net, Fair Value 44ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  84ally_CommercialFinanceReceivablesAndLoansNetFairValue
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_CommercialLoanMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Repossessed And Foreclosed Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 8us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  11us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= ally_RepossessedAndForeclosedAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Other Assets [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Other Assets, Fair Value Disclosure 2us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  2us-gaap_OtherAssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_OtherAssetsMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
Fair Value, Measurements, Nonrecurring [Member] | Fair Value, Inputs, Level 3 [Member] | Assets, Total [Member]      
Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]      
Assets, Fair Value Disclosure $ 1,599us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember
  $ 97us-gaap_AssetsFairValueDisclosure
/ us-gaap_FairValueByAssetClassAxis
= us-gaap_AssetsTotalMember
/ us-gaap_FairValueByFairValueHierarchyLevelAxis
= us-gaap_FairValueInputsLevel3Member
/ us-gaap_FairValueByMeasurementFrequencyAxis
= us-gaap_FairValueMeasurementsNonrecurringMember