He was an unsuccessful candidate in 1820 for election to the Seventeenth Congress. He served in the South Carolina Senate from 1821 to 1823, and again from 1830 to 1833.
Campbell was elected as a Jackson Republican to the Eighteenth Congress (March 4, 1823 – March 3, 1825). He was an unsuccessful candidate for reelection in 1824 to the Nineteenth Congress and for election in 1826 to the Twentieth Congress and in 1830 to the Twenty-second Congress. Campbell was elected as a Nullifier to the Twenty-third Congress to fill the vacancy caused by the death of United States Representative Thomas B. Singleton.
He was reelected as Nullifier to the Twenty-fourth Congress and served from February 27, 1834, to March 3, 1837. During the nullification movement he was commissioned general of South Carolina troops in 1833.
He moved to Lowndes County, Alabama, about 1840. He served as member of the State house of representatives in 1840. He was appointed on September 28, 1842, consul at Habana, Cuba, and served until July 22, 1850. From there, he moved to San Antonio, Texas. He was appointed on March 16, 1853, a commissioner for the United States to aid in settlement of the disputed boundary line between Texas and Mexico.
He was appointed consul at London, England, and served from August 3, 1854, to March 1861, when he was recalled. He moved to Ealing, where he died July 12, 1862. He was interred in the crypt of Kensington Church.