Catalyzes an early step in the biosynthesis of tetrapyrroles. Binds two molecules of 5-aminolevulinate per subunit, each at a distinct site, and catalyzes their condensation to form porphobilinogen. 2 5-aminolevulinate = H(+) + 2 H2O + porphobilinogen Binds 2 magnesium ions per monomer. The first magnesium ion is required for catalysis. The second functions as allosteric activator. Activated by magnesium. Inhibited by succinyl acetone. Enzyme activity may depend on the oligomerization state, where the fully active octamer may dissociate and reassemble into less active lower oligomers. Porphyrin-containing compound metabolism; protoporphyrin-IX biosynthesis; coproporphyrinogen-III from 5-aminolevulinate: step 1/4. Homooctamer; formed by oligomerization of dimers. Probably forms also lower oligomers. Belongs to the ALAD family.